首页
统计
壁纸
追番记录
优秀博主
关于
推荐
导航
工具
音乐解锁
Search
1
NAS的简单介绍
733 阅读
2
网站环境一键部署工具推荐
505 阅读
3
tp5-模型数据处理
405 阅读
4
win10镜像
359 阅读
5
第20200225期-电脑壁纸-P10
350 阅读
PHP
闲谈杂料
硬件系统
美图
ThinkPHP
笔记
数据库
Lua
登录
Search
标签搜索
ThinkPHP
MySQL
Laravel
PHP
API
GIT
Windows10
markdown
Web
跨域
ajax
小程序
壁纸
Linux
jsonp
try
异常
Dcat
UEFI
win10
phpfunny
累计撰写
104
篇文章
累计收到
24
条评论
首页
栏目
PHP
闲谈杂料
硬件系统
美图
ThinkPHP
笔记
数据库
Lua
页面
统计
壁纸
追番记录
优秀博主
关于
推荐
导航
工具
音乐解锁
搜索到
3
篇与
的结果
2022-06-10
[gitea]搭建私有代码库
简介私有代码一直以来是我所需要的, 随着工作时间越长接触到的项目也就越多。对于项目代码的管理还是需要像github,gitee这样成熟产品来进行管理。以下是我使用代码库产品的历程(建议跳过)GitHub是我在大学时期接触到的第一个代码库,通过github学会的基础git操作。受国内墙的影响经常会404,所以用了一段时间就把它当作归档库和寻找开源项目来用了。阿里云代码库(https://code.aliyun.com)是公司工作所需用的,也有使用了一年多的时间。每次登录需要用阿里家产品进行扫码登录很麻烦。后来换了一家公司,所有的项目都需要我来进行管理,我使用的国内码云Gitee。用的也是超级方便,炒鸡好用。在2022-5月份的时候为了避免受美国政策打压,平台关闭所有开放项目,自查版权,导致所有想开放的项目需要申请也很是麻烦。在用giee的时候在b站看到up推荐这个Gitea 感觉很不错于是就自己来搭建使用,作为自己日后产能输出的必要工具。gitea的产品特性:易安装,跨平台,轻量级,开源化,中文。对于自建不是适合所有开发人员,需要有点一丢丢门槛。首选你要有一台云服务器/私有服务器(废话)然后在加上一点会折腾的心♥ 就可以搞啦。本次教程采用简单快速的方式。如果你有更快速的方式欢迎与我分享。准备下载源码 https://gitea.io/zh-cn/Github:https://github.com/go-gitea/giteaGitee镜像:https://gitee.com/mirrors/gitea包有很多注意关键字linux, amd, 64 包文件大约100M服务器的环境:CentOS7.6 , 宝塔(包含web环境),SSH,Git域名(可以省略)流程复制下载的源码是go语言文件 gitea将该文件放置到自定义目录中。我放在了 ~ 的home目录中pwd /home/gitea #创建gitea目录,移动到该目录中 mkdir /home/gitea mv /home/gitea /home/gitea/gitea /home/gitea/gitea #添加权限(当前为root用户) cd /home/gitea chmod +x gitea #修改用户组所属人为git(root身份无法执行) chown -R git:git /home/gitea #测试(可以省略) su git cd /home/gitea ./gitea web #无报错那就是没有问题,有报错可能是root身份或者其他问题。 # http://ip:30000反代(用域名访问)特别注意 如果需要ssl 一直要在设置反代之前建立空网站并配置ssl。在宝塔中测试发现,建立完反代无法设置ssl。如果有宝塔的话设置反代更方便小白化建立常驻进程./gitea web 手动运行,当关闭进程的时候服务也将终止。选用宝塔中 Supervisor管理器插件(需软件商店下载)如果配置完发现进程启动失败 那需要在Supervisor管理器-子配置文件最后面添加以下内容①启动失败environment = HOME="/home/gitea", USER="git"②22端口占用冲突,提权设置setcap cap_net_bind_service=+eip /home/gitea/gitea安装和数据库使用反代的域名进入第一次打开是安装页面数据库可以选用MySQL 或者SQLite如选用mysql 休要在安装提前在数据库中新增库名推荐选用SQLite 安装更快。其他取消首页gitea 一开始进入首页时,直接进入登录页面,强制登录。gitea/conf/app.ini在[server]字段增加:LANDING_PAGE = explore这个字段的默认值是home设置项目中ssh地址默认显示的是localhost例如 git@localhost:qwq/qrcode.gitvim /home/gitea/custom/conf/app.ini #[server] #SSH_DOMAIN = 域名(无需协议头) 图片预览用户界面后台界面
2022年06月10日
93 阅读
0 评论
1 点赞
2021-02-28
从零开始学Git-基础篇
目录git commitgit branchgit mergegit rebase设置ssh参考链接1. git commitcommit用于仓库中提交记录 保存的是你目录下所有文件的快照,就好比复制粘贴一份整个目录。git希望提交记录尽可能的轻量,在每次进行提交时他会将当前版本与仓库中的上一个版本进行对比,并把所有的差异打包到一起作为一个提交记录。git还保存提交的历史记录,开发人员维护提交历史。2. git branchgit 的分支也非常轻量它们只是简单地指向某个提交记录。创建再多的分支也不会造成储存或者内存上的开销,并且按逻辑分解工作到不同的分支。简单用一句话来说:‘我想基于这个提交以及它所有的父提交进行的新工作’。git branch newImage /新创建一个newImage分支 git checkout newImage /切换到newImage分支上 git commit /提交当前分支记录 git checzkout -b newImage /创建一个newImage新分支并切换过去3. git merge在git中合并两个分支时会产生一个特殊的提交记录,它有两个父节点。简单来说:“我要把这个两个父节点本身及她们所有的祖先都包含进来”git merge newImage /将newImage分支合并到当前main主分支4. git rebasegit rebase建立基础就是重新分配一系列得提交记录,copy它们然后在另外一个地方逐个放下去,rebase的优势就是可以创造更线性得提交历史。下面用图画来解释一下起初是main和bugFix 两个并行的分支(当前分支指向的是bugFix)将bugFix分支里的工作直接移到main分支上git rebase main移动之后bugFix分支上的工作就在main的最前端。请注意:提交记录C3依然存在(图片上半透明的例程),而C3‘ 是我们rebase到主分支上的C3副本。切换到main分支上,把它rebase到bugFix分支上git rebase bugFix补充:1.配置SSH公钥生成$ ssh-keygen -t rsa -C "1109053660@qq.com"输入三次回车查看$ cat ~/.ssh/id_rsa.pub补充: 2.参考链接前往这个地址https://learngitbranching.js.org/?locale=zh_CN学习git更方便更快捷,有些图例的展示更直观对git操作的理解,还有通俗易懂的解释。
2021年02月28日
251 阅读
0 评论
0 点赞
2020-09-30
GIT指令之项目控制
简介Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目配置文件在git上配置文件config分为三种级别,分别为系统级别,用户级别,项目级别配置检查系统级别,system ,命令# git config -system -l用户级别,global ,命令# git config -global -l项目级别,local ,命令# git config -local -l配置用户#全局配置 git config --global user.name "Your Names" git config --global user.email "Your Email" git config --list #局部配置 $ git config user.name "gitlab’s Name" $ git config user.email "gitlab@xx.com" $ git config --list常用指令//克隆远程仓库指定分支代码(默认分支master) git clone -b 分支名称 git远程仓库地址 //创建跟踪 git branch --set-upstream-to=origin/<远程分支> 本地分支 //创建远程分支然后拉取到本地 git checkout -b feature-branch origin/feature-branch //本地先开好分支然后推送到远程 git checkout -b 分支名 git push origin 本地分支名:远程分支名 //查看修改文件 git status //添加到等待提交列表中(add 后面接要提交的文件名) git add . //添加提交描述信息 git commit -m 'feat: #67364 提交信息' //添加到远程分支 git push --set-upstream origin 远程分支名 //拉取远程分支到本地 git fetch origin 远程分支名 git pull origin --rebase 远程分支名(rebase合并操作) //比较连个版本 git diff //切换分支 git checkout 分支名 //删除暂存区内不想要的文件 git rm --cached <file> //强制提交(合并) git push origin 分支名 --force //回退 git reset --hard HEAD^ 回退到上个版本 git reset --hard HEAD~3 回退到前3次提交之前,以此类推,回退到n次提交之前 git reset --hard commit_id 退到/进到 指定commit的sha码 //暂存本地修改 git stash //暂存缓存回退到本地(有修改回退本地会有冲突) git stash pop|apply //查看多个暂存 git stash list //还原指定版本暂存 git stash pop stash@{?} //清除某个版本暂存 git stash drop stash@{?} //查看各版本时间轴方式 git log --oneline --decorate --graph --all Commit message格式<type>: <subject> //注意冒号后面有空格。type用于说明 commit 的类别,只允许使用下面7个标识。feat:新功能(feature) fix:修补bug docs:文档(documentation)/注释 perf: 优化/性能提升 style: 格式(不影响代码运行的变动) refactor:重构(即不是新增功能,也不是修改bug的代码变动) test:增加测试 revert:撤销修改 types:类型定义文件更改 chore:构建过程或辅助工具的变动 如果type为feat和fix,则该 commit 将肯定出现在 Change log 之中。subjectsubject是 commit 目的的简短描述,不超过50个字符,且结尾不加句号(.)。补充在shll控制台中修改文件拥有者,和属组修改拥有者 chown -R 拥有者名 目录名修改属组 chgrp 组名 文件名将远程git仓库里的指定分支拉取到本地(本地不存在的分支)当我想从远程仓库里拉取一条本地不存在的分支时:git checkout -b 本地分支名 origin/远程分支名这个将会自动创建一个新的本地分支,并与指定的远程分支关联起来。例如远程仓库里有个分支dev2,我本地没有该分支,我要把dev2拉到我本地:若成功,将会在本地创建新分支dev2,并自动切到dev2上。如果出现提示:fatal: Cannot update paths and switch to branch 'dev2' at the same time.Did you intend to checkout 'origin/dev2' which can not be resolved as commit?表示拉取不成功。我们需要先执行git fetch然后再执行git checkout -b 本地分支名 origin/远程分支名即可。.gitignore添加文件失效问题描述:git上传的时候,我们已经将 xxx 文件添加到了.gitignore 中,但是在push 后,远程仓库还是会显示此文件。解决方式:git rm -r --cached 文件/文件夹名字(. 代表所有文件) # 去掉已经托管的文件,然后重新提交 git add . git commit -m 'update .gitignore' git push原因:不要误解了.gitignore的用途,该文件只能作用于未被跟踪的文件,也就是那些从来没有被git记录过的文件(自添加以后,从未add及commit过的文件)。如果文件曾经被git记录过,那么.gitignore就对他们完全无效。【补充】在项目中推荐按着git的规则在需要屏蔽提交文件/文件夹 的目录中单独写入.gitignore.gitignore文件忽略规则ID语法解释1#注释以#开头的行为注释行,不起作用2*.a忽略所有.a结尾文件3!.b排除对于.b文件的忽略4build/忽略build/目录下所有文件5img/*.png忽略img/1.png,但是不忽略img/2023/2.png无本地仓库项目与远程仓库同步实用场景:测试项目搭建,复制项目删除掉.git目录重新跟踪等#1. 创建本地仓库 git init #2. 建立项目跟踪 git remote add origin git@gitee.com:phpfunny/game-website.git #3. 修改当前分支 git checkout -b 本地分支 #4. 还原指定远程分支最新代码 git reset --hard origin/远程分支 #5. 尝试git pull 或者 git push 提示要本地远程分支建立联系 git push --set-upstream origin 远程分支 #或者 git push --set-upstream origin 远程分支 #6. 最后测试 git pull #或者 git pushClone所有分支及其代码和记录实用场景:迁移仓库本地拥有所有远程分支版本代码#创建文件夹 mkdir md cd md #使用bare方式clone代码,并把下载后的文件夹重命名为 .git git clone --bare [远程仓库地址] .git #使用该命令(不用担心core.bare是否存在)或git config --bool core.bare false git config --unset core.bare #同步代码与远程代码保持最新 git reset --hard #查看本地分支 git branch迁移新仓库实用场景:将旧的远程仓库数据 迁移 到新的远程仓库#拉取项目 git clone [旧远程仓库地址] #使用bare方式clone代码,并把下载后的文件夹重命名为 .git git clone --bare [旧远程仓库地址] .git #移除老项目关联仓库 git remote remove origin #关联新仓库地址 git remote add origin [新远程仓库地址] #只推送单个分支 - 推送到新仓库,如果是空项目执行下面那句 git push git push --set-upstream origin master #推送所有分支 - 推送到新仓库 git push --mirro [新远程仓库地址]git clone https 记住密码#永久记住 git config --global credential.helper storegit stash pop stash@{?}报错 error: unknown switch e'`原因:在windows环境下PowerShell和cmd和Git Bash 编辑器中 认定花括号是代码块执行标识符。执行带有花括号序号转义解决方式:git stash pop stash@`{?`}
2020年09月30日
208 阅读
0 评论
0 点赞