git分支管理常用操作

      

      大纲

        一、git分支管理介绍

        二、分支管理常用命令

        三、分支的合并模式

        四、bug分支

        五、补丁

 

     git分支管理介绍

        从正常的git使用中,会存在大量的分支,最主要的分支就是master,在git中有明确的要求,所有最终的代码应该将其存放在mater分支上,也就是mater分支的代码是给用户使用的,那么在平时的开发中,依然通过mater分支来管理代码是非常不合理的。应该在其他的分支上进行开发,最后完成的代码在存放到mater分支中。这样每一个开发者都给他分配独立的分支,那么开发中,互不干扰。

 

      分支管理常用命令

      默认情况下,git在第一次提交代码,也就是使用commit命令时,会创建一个默认的分支master。

       查看当前git中可用的分支,名称前面有*号表示当前正在使用的分支

          命令:git branch

        

      创建一个新的分支

          命令:git branch "分支名称"      

        

      切换分支

        命令:git checkout “分支名称”

        

      切换到其他分支之后,正常的提交代码,但是此时提交的代码都是到已经切换的分支中的,要想将所使用的分支中的代码提交到master中,首先要确保已经将代码提交到当前使用的分支中,随后切换回master分支。

        命令:git checkout master
           git merge "分支名称"  将两个分支进行合并

        此时分支中的代码就合并好了

        

      如果要想将代码提交到服务器中,那么所以的分支代码都要提交到服务器中。加入我这里有两个分支
          git push -u origin master
          git push -u origin dev

      git删除分支
        git branch -d "分支名称"
        git branch -D "分支名称"    强制删除

      本地的分支删除之后,也需要将远程的分支一起删除(服务器上的分支)
        git push origin --delete "分支名称"

 

      推送一个空的分支到服务器
        git push origin :dev

 

      分支的合并模式

      使用命令:git log --graph --pretty=online查看分支的合并记录。合并完成分支后不会产生一个新的提交点,所以在使用合并分支的时候,需要加上--no-ff 表示在合并完成之后产生一个新的提交点。 git merge --no-ff -m "注释"

        

 

      bug分支

      bug分支,加入在当前的分支中正在编写代码,此时并没有完成代码的编写,且代码还有错误,那么此时这个代码是不允许提交的。那么这时在master分支上有严重的问题需要立即修复,那么这个时候就需要将目前的分支工作暂挂
使用命令: git stash 将目前的分支暂挂。然后去区里其他的问题,等问题处理完成之后,通过回复暂挂的分支来还原代码,再继续工作。

      使用git stash list 查看暂挂分支。

      

      

      使用命令:git stash apply恢复
        使用命令:git stash drop清除暂挂分支

 

      补丁

      补丁,假设如果现在做的项目非常的大,有是几万个文件,那么此时在分支上修改了代码,并没有在master分支上,那么此时如果想要合并master分支,因为文件过大,过多,传统的合并过于麻烦,可以通过分支的比较来进行合并。

       使用命令 git deff master > patch 将分支中有区别的文件保存在一个patch的文件中

      随后在master分支上去应用这个补丁。 使用git apply patch命令来完成应用。 使用git format-patch -M master来完成应用,会加入一些介绍信息

 

       

     

      知乎文章: https://www.zhihu.com/people/tan-xu-peng-44


      编程专业知识:https://www.cnblogs.com/tjava


      编程开发技术问题解决CSDN:https://blog.csdn.net/qq_37291829

 

posted @ 2020-09-17 17:13  谭旭鹏  阅读(196)  评论(0)    收藏  举报