Git-本地分支与远程分支的关系维护篇

日常的Git操作,比如git push master,git pull dev等类似操作,我们有时候可能都会心惊胆战,因为我们会有多个远程分支版本有可能操作错了,就会导致不必要的麻烦。当然我们可以避免这种情况,我们经常做的就是:

git push/pull origin master

git push/pull origin dev

 但是,有一定洁癖的程序员觉得每次在提交/拉取代码的时候,总是要多输入origin master/dev 很是麻烦,我直接git pull/push 不好吗?这个操作是可以,但是我们为了不引起不必要的麻烦,所以我们就需要确认本地分支和远程分支的追踪关系。这个追踪关系的大概意思就是说,我们每一个本地分支都对应一个远程分支,就是我们直接git push/pull的时候,默认的那个远程分支。

我们可以通过如下命令查看关系:

git branch -vv

显示如下:

我们可以清晰的在结果中看到,本地分支dev对应的是远程分支origin/dev,本地分支master对应的远程分支是origin/master。那么我们就可以安心的直接使用git push/pull而不用没回都要在后面添加origin master/dev了。

如果没有像上面一样,每个branch显示对应的远程分支版本,我们执行git pull/push 命令的时候,会有如下提示:

 

There is no tracking information for the current branch.

Please specify which branch you want to merge whith.

See git-pull(1) for details.

git pull <remote> <branch>

If you wish to set tracking information for this branch you can do so whith:

git branch --set-upstream-to=origin/<branch> dev

那么我们按照Tips执行:

git branch --set-upstream-to=origin/dev

但是有写时候,出于某些特殊场景下,该命令并不生效,我们可以采取如下的方式解决。

1、进入到当前项目下的.git文件夹,并打开config文件。打开后我们会看到如下图:

参数解释如下 

1、[remote "origin"] 这一项可以修改对应的远程仓库地址。

2、[branch "master"] 中的merge可以修改对应的远程仓库。那么[branch "dev"]是同理的。

2、修改想要的远程分支即可。比如想要修改本地分支master对应远程分支dev那么把merge = refs/heads/master修改为merge = refs/heads/dev即可。

想看是否修改完成我们再次执行git branch -vv即可。

 :有些同学会发现打开config文件后,发现没有[branch "master"]这一项,那么您的项目应该没有执行过git clone或git pull命令,导致没在config文件中生成该配置。

 

参考:

https://blog.csdn.net/deaidai/article/details/79639885

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值