工作也蛮长时间了,接触的项目也在增加,目前我们组使用的是公司搭建的gitlab进行合作开发,这篇文章总结一下我个人在工作中最常用的git操作流程,感觉还不错。
这里首先得先明确一些概念,仓库分为远程主体仓库、个人远程仓库和本地仓库。由项目负责人维护远程主体仓库,每个研发在本地仓库开发代码,同步到个人远程仓库,在进行代码合并申请,项目负责人在审核代码之后进行代码合并。
初始化仓库
首先,先fork项目到个人名下,git clone + URL 将项目复制到本地。
vs code打开项目,在新建终端中,git remote -v 查看仓库源
这里的origin是个人远程仓库,表示该项目已经和个人远程仓库进行关联了。那还需要关联远程主体仓库,保证代码的更新。
git remote add + 名称 + 地址 我这里喜欢将远程主体仓库命名为main,地址就是远程主体仓库的URL。
现在两个仓库源都有了,但是并没有分支,还需要获取远程主仓库的分支,再根据需要新建本地分支和主仓库分支进行关联。
git fetch main 拉取远程主仓库的所有分支。vs code中可以明显看出执行前后区别。
vs code中这个GitLens 可以非常方便查看你操作的git相关信息,最上面的dev表示你当前处于的dev分支,并且是直接关联的origin/dev。Branches里是本地所有的分支。Contributors是合作者。Remote代表仓库源,也就是仓库初始化时进行的操作结果在这里很清晰的看到。
代码提交
已修改保存的文件会显示在源代码管理界面。
点击上图的加号,相当于在终端执行了git add
点击确定,相当于执行了 git commit -m “test”
更新到远程仓库
记住执行逻辑:本地提交的修改代码至暂存区,也就是上面那步骤;①拉取主体远程仓库最新代码到本地,合并本地代码;②提交到个人远程仓库;在gitlab平台上发起代码合并到主仓库的请求。
①
git fetch main dev
git rebase main/dev
②
git push origin dev
我这里举例的指令都是按照dev分支来执行的,①中也可以执行git push main dev,但这样会导致git提交记录中多出一条无用的合并记录。
同步主仓库分支
由于现在经手的项目也比较多,主仓库上会开设多个分支来维护不同的项目。一个新的项目开发,就需要同步主仓库的分支到本地、到个人远程仓库,这种情况也算是经常遇到了。
就像下面这种情况,主仓库中有test分支,但我本地和个人远程仓库是没有的。
操作流程如下(一波图表达的明明拜拜):
关注我吧