git fetch only for current branch

巧了我就是萌 提交于 2019-12-21 07:57:26

问题


I know that I can fetch any remote branch to any local branch, but is there also some kind of shortcut to fetch just from the tracked remote branch to the current tracking local branch (without the need to specify the local and remote branch names explicitly)?

Motivation: I want to just fetch remote changes for the current branch to avoid getting (maybe large) changes from currently irrelevant branches. I will merge/rebase later in a separate step.


回答1:


Let's assume that you have origin remote with master, develop branches. You want to sync master but not develop.

You can do the following steps:

git fetch origin
git merge origin/master

UPDATE: in case of only branch have to be fetched:

git fetch origin master
git merge FETCH_HEAD



回答2:


git fetch $(git rev-parse --symbolic-full-name --abbrev-ref @{upstream} | sed 's!/! !')



回答3:


Per https://stackoverflow.com/a/12142066/25192 - you can use this to find the name of the current branch:

git rev-parse --abbrev-ref HEAD

...then substitute this into the fetch command as the refspec.




回答4:


Git is a decentralized VCS. Whe you do a fetch, you're synch'ing the two repositories entirely. Branches aren't nothing but labels attached on specific commits. I guess you mean git fetch which doesn't do any merges or stuff like that to any particular branches.

http://www.kernel.org/pub/software/scm/git/docs/git-fetch.html



来源:https://stackoverflow.com/questions/11347712/git-fetch-only-for-current-branch

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!