下面通过一个简单案例分析如何合并删除一个分支,首先我们在github创建一个空项目,然后把他克隆下来。
git --version //查看git版本 git clone git@github.com:kanlidy/hellogit.git //克隆hellogit项目到本地 git status //查看项目的状态,位于本地master分支 git branch -a //查看远程分支 git branch //查看本地分支 touch test.txt //创建test.txt文件
下面我们对test.txt文件,进行远程仓库的提交
git add . //对所有文件添加建立跟踪 git commit -m "初次提交" //提交文件,并写描述(初次提交) git remote -v //查看远程仓库
git push origin master //把文件推送到到master远程仓库 git branch -a //查看远程仓库
master代码是我们稳定的项目代码,但是这个时候我们来了个新的功能,我们需要在master分支上做一些变化。但是我们在没有完成项目的时候,我们不提倡直接在master上改代码,这个时候我们就需要创建一个新的分支dev
git checkout -b dev //创建一个新的分支dev ls //查看当前分支的文件 touch test1.txt //创建test1.txt文件 git status //查看分支状态 git add test1.txt //建立跟踪 git commit -m "dev上的功能开发" git push origin dev //推送到远程dev上
git branch -a //查看远程分支,发现绿色的标志是处在当前分支,同时通过推送创建了远程dev分支 git checkout master //切换本地master分支
为什么要切换到本地master分支,因为我们现在要把本地dev分支合并到本地master分支(合并到哪,就先切换到哪)
git merge dev //合并dev分支到当前分支(也就是刚刚切换的master分支) git push origin master //合并之后,我们还要将合并之后的代码推送到远程master分支上 git branch -D dev //合作之后,删除多余的本地dev分支,查看分支,确实少了dev分支
git push origin :dev //删除本地dev分支,还需要删除远程dev的分支 git reset --hard head^ //如果后悔了,我们可以退回到推送之前的版本 git reflog //查看行为日志,可以根据44c2edc或者HEAD@{1}任意的选退回的版本 git reset --hard HEAD@{1} //退回到该版本