设为首页 收藏本站
查看: 809|回复: 0

[经验分享] Git分支管理的基本操作

[复制链接]

尚未签到

发表于 2018-1-15 21:34:09 | 显示全部楼层 |阅读模式
  首先从远端版本库clone下来一个全新的库:
  

git clone username@xxx:/xxx/xxx.git  

  此时clone下来的,只是master分支,没有其他分支。
  查看分支:
  

git branch  #查看本地分支  
git branch -r  #查看远端分支
  
git branch -a  #查看所有分支,包括本地和远程的
  


  分支名前面有 * 的,就是当前所在分支。分支名型如remote/origin/xxx的,就是远端分支。
  创建本地分支:
  

git branch <user_branch_name>  #在本地创建一个新分支  
git checkout -b <user_branch_name>  #在本地创建一个新分支,并且立即切换到这个分支(第一种方式只是创建了一个分支,并没有切换)
  

  下面是使用 git checkout -b dev 创建的 dev 分支,会提示说已切换至新的分支 dev:

  再次使用 git branch 查看分支,会发现本地有两个分支。其中dev分支前有个 *,说明当前分支是dev:

  切换本地分支:
  一个版本库可能有多个分支,例如现在有主分支master,有开发分支dev,那么从dev分支切换至master分支如下:
  

git checkout master  #从dev分支,切换到master分支  


  如上提示,已经切换至master分了。
  此时再使用git branch查看分支情况,可以看到master前面有个 * ,说明已经切换到master了:

  其实命令行提示尾部括号中的名字,就是当前所在分支:

  可以看到,最后面的括号中的master,表明了当前所在分支。
  合并本地分支:
  合并分支命令:git merge 的工作流程是:将指定分支,合并至当前分支。
  例如需要将 dev 开发分支,合并到 master 主分支上,需要如下两步操作:
  1.切换到主分支
  2.将dev合并至master
  

git checkout master  #切换到master分支  
git merge dev  #将dev分支合并至master分支
  

  例如目前有两个分支,一个master分支,一个是dev分支。
  这时新建了一个文件a.txt,在dev分支上完成git add 、 git commit两步操作,这表明,a.txt是属于dev分支的,切换到master分支时是看不到a.txt的。
  这时切换到master分支,将dev分支合并至master,就会把dev的代码加入到master中。master也就可以看到a.txt了。
  删除本地分支:
  一个分支使用完了,可以删除掉。例如这个分支就是为了修复某一个bug的,bug修好了,新代码合并至master之后,这个分支就可以删除了。
  

git branch -d <branch_name>  #删除本地branch_name分支  


  另外:删除当前所在分支是不行的,会提示删除失败。
  推送本地分支到远端:
  

#下面local_branch_name用来指明要推送本地哪个分支,remote_branch_name用来指明远端接收这个分支后叫什么。  
git push origin [local_branch_name]:
<remote_branch_name>  

  

  
#如果希望推送当前分支,那么local_branch_name:可以省略
  
git push origin remote_branch_name
  

  
#另外本地分支名与远端分支名最好保持一致
  

  其实只有master一个分支时做推送操作的命令中 git push origin master,最后这个master其实就是远端的master分支名,master其实也是一个分支,git要求版本库中必须至少要有一个分支,默认叫master。
  删除远端分支:
  删除远端分支有两种方式:
  1.直接branch命令删除远端:
  

git branch -r -d <remote_branch_name>  #-r表示操作的是远端  -d表示执行删除操作  

  2.通过推送一个空的分支到远端,用空分支覆盖掉远端分支,从而删除这个远端分支:
  

git push origin :<remote_branch_name>  #注意,origin后面有一个 空格,以及一个冒号,这是必不可少的  

  3.删除已被删除的远程分支所对应的本地分支:
  一个远程分支被删除了,可是本地还存在其对应的分支引用,可以这样删除:
  

git fetch -p  

  拉取远程分支:
  1.直接拉取某一分支:
  

git checkout -t <remote_branch_name> #-t 意为 track,即跟踪一个远程分支  

  2.在初次clone时直接clone某一分支(默认是clone下来主分支master):
  

git clone <repository> -b <branch_name>  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-435477-1-1.html 上篇帖子: .git文件过大!删除大文件 下篇帖子: Git clone 常见用法
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表