git命令——稳定主干开发模式相关命令

    xiaoxiao2021-03-25  99

    最近项目组采用的源代码控制模式的稳定主干的模式。本文着重介绍一下何为稳定主干的模式,以及与稳定主干相关的git命令。

    1.何为稳定主干模式

    本小节摘录http://blog.csdn.net/zhangmike/article/details/38613429中对稳定主干的介绍:

    得到一个稳定版本后,拉出先锋分支,在分支上开发新功能,在主干上进行修修补补。当先锋分支通过一定的测试之后,合并到主干。可以同时有多个先锋分支,不同的功能可以拉不同的分支,不同发布时间点而又要同时开发的内容必须在不同的分支上。

    从发布的角度讲,更推荐将肯定一起发布的内容放在相同的先锋分支上。

    主干上永远是稳定版本,可以随时发布。bug的修改和新功能的增加,全部在分支上进行。而且每个bug和新功能都有不同的开发分支,完全分离。而对主干上的每一次发布都做一个标签而不是分支。分支上的开发和测试完毕以后才合并到主干。

    这种发布方法的好处是每次发布的内容调整起来比较容易。如果某个新功能或者bug在下一次发布之前无法完成,就不可能合并到主干,也就不会影响其他变更的发布。另外,每个分支的生命期比较短,唯一长期存在的就是主干,这样每次合并的风险很小。每次发布之前,只要比较主干上的最新版本和上一次发布的版本就能够知道这次发布的文件范围了。

    2.主要操作步骤

    1.1.查看已有的本地分支

    【目的】主要目的为查看本地已有的分支

    【命令语法】git branch

    【效果】

    【效果说明】注意master左面有一个星号,那个代表你当前所在的分支是master

    1.2.查看已有的远程分支

    【目的】主要目的为查看远程已有的分支

    【命令语法】git branch -a

    【效果】

    1.3.创建新分支

    【目的】主要目的为创建一个新的分支,该分支也称为先锋分支 【命令语法】git branch[new branch name] 【命令示例】git branch test_branch 【效果】 【效果说明】从git branch的结果可以看出,多出来了一个test_branch。不过当前所处分支仍然是在master上

    1.4.切换到指定分支

    【目的】切换到指定分支。在本例中就是切换到新创建的分支——test_branch 【命令语法】git checkout[branch name] 【命令示例】git checkout test_branch 【效果】 【效果说明】从第一个git branch的结果可以看出,最开始还是处在master分支上。在执行完checkout命令后,再git branch就可以看到已经切换到了test_branch分支上面

    1.5.commit

    【目的】在新的分支上开发完代码以后,需要提交代码。首先需要先将代码提交到本地 【命令语法】git commit -am "提交说明" 【效果】 【效果说明】-a的意思就是add,将所有修改添加到stage中。-a后面的m代表message的意思,其后紧跟的双引号内容为本次提交的说明 1.6.push 【目的】将已经commit过的代码,push到远程 【命令语法】git push<远程主机名> <本地分支名> [<远程分支名>] 【命令示例】git push origin master 【命令说明】也可以写成git push origin master master,远程分支名是可忽略的,如果忽略则代表远程分支名与本地分支名相同 【效果】 【效果说明】若没有看到error之类的提示,则说明push成功

    1.7.rebase

    【目的】将远程其它分支(通常是主线)上的代码拉到当前分支上来。之所以需要这样做是因为,你在自己的分支上进行开发的期间内, 主线的代码可能也有改动。但是因为你们不在同一条枝干上,导致代码不同步。这是如果你直接将当前分支的代码merge到主线上,处理起冲突来会很麻烦。所以建议在你自己的分支上,时不时的rebase一下主线的代码,这样一来处理起冲突的概率就会减小,有利于多分支的代码合并。 【命令语法】git rebase [branch name] 【命令示例】git rebase master 【效果】 【效果说明】截图中的提示代表当前分支的代码已经是最新代码了 注:如在rebase过程中遇到冲突问题,则解决完所有冲突之后,将冲突文件标记为resoved, 之后在Git命令行中执行git rebase --continue命令

    1.8.pull

    【目的】从当前分支的远程拉取代码 【命令语法】git pull 【效果】

    1.9.删除本地分支

    【目的】当一个分支上的代码已经开发、测试完毕后,需要将其合并回主线。合并之后,需要将原有分支删除。 【命令语法】git branch -d[branch name] 【命令示例】git branch -d test_branch

    1.10.删除远程分支

    【目的】光删除本地分支还不够,还需要把远程的该分支删掉 【命令语法】git push origin --delete[branch name] 【命令示例】git push origin --delete test_branch 【效果】 【效果说明】第一次git branch -a的时候还可以看到远程有test_branch这个分支。经过删除后,再次git branch -a的时候就已经看不到了

    1.11.stash

    【目的】当在分支A上开发时,别的支线或主线有不得不修改的紧急任务,但又不想把当前开发到一半的代码commit,则此时可以使用stash将开发一半的代码推入到Git栈中。等紧急任务处理完毕,再从Git栈中将代码拉回来 【命令语法】git stash(推入栈时使用) git stash pop(从栈中拉代码时使用)
    转载请注明原文地址: https://ju.6miu.com/read-21191.html

    最新回复(0)