有没有一种配置方式来设置它,而不必指定哪个分支?你怎么能只拉当前分支?
回答
Git已经只能拖动当前分支。如果将分支设置为跟踪分支,则不需要指定远程分支。 git branch --set-upstream localbranch reponame/remotebranch
将设置跟踪关系。然后您发出git pull [--rebase]
并且只有该分支将被更新。
当然,所有远程跟踪分支和远程的所有参考都将被更新,但只有您的本地跟踪分支会被修改。
我只是做了这种方式:
git pull origin "$(git branch | grep -E '^\* ' | sed 's/^\* //g')"
或
git pull origin $(git rev-parse --abbrev-ref HEAD)
这种提取从git branch
当前分支,和拉动从远程起源分支。
请注意,就像Seth Robertson说的那样,当没有参数给出时,只修改当前分支但是所有远程分支都被获取。我不想获取所有的远程分支,所以我这样做了。
有点棘手...但工程。 +1 – shashwat 2014-12-26 09:20:34
'git branch'不应该被分析信息。这个信息可以通过'git rev-parse'命令来实现:'git pull origin $(git rev-parse --abbrev-ref HEAD)' – 2016-08-09 13:24:22
@ayke我加了Paul DelRe,因为它也可以工作,我希望你们都不介意 – 2016-11-11 15:00:37
尝试此混帐的新版本:
$ git config --global push.default current
我不相信pull.default存在。请参阅 [git-scm](http://git-scm.com/docs/git-config.html) 或 [kernel.org](https://www.kernel.org/pub/software/scm /git/docs/git-config.html)。 – Mort 2015-06-16 13:15:24
@Mort你测试了吗?它对我有效:D – 2015-06-16 13:42:14
是的。即使在上面的'pull.default = current'下,linux上的git 2.3.4也会获取所有分支。我发现我的'git clone'默认也添加了'remote.origin.fetch = + refs/heads/*:refs/remotes/origin/*',但这非常标准。 – Mort 2015-06-18 01:35:31
的--set-upstream
标志已过时,将被删除。 因此,使用--track
或--set-upstream-to
例如: 如果要设置这个分支跟踪信息,你可以这样写:
git branch --set-upstream-to=<remote>/<branch> develop
当它不知道你的跟踪信息时,它可能会被弃用(来源?),但是'--set-upstream-to ='不断被git提及。没有提及弃用。 – 2017-04-03 15:13:39
@AdrienGiboire下面是关于弃用的一些信息:https://jira.atlassian.com/browse/SRCTREEWIN-588 – 2017-04-05 02:40:23
我的不好,我意识到我误解了你的帖子。 – 2017-04-05 09:46:07
是的,有可以在.gitconfig
改变一个配置,例如:
[push]
default = current
这会推送当前分支以更新接收端具有相同名称的分支。
检查由:
git config --global --get push.default
参见:git-config。
@DavidSanders删除,谢谢。 – kenorb 2015-11-20 11:56:09
- 1. 只显示当前分支Git中
- 2. 你怎么称呼它,当
- 3. 你怎么样cpp功能?
- 4. 你怎么能在JBoss
- 5. 你怎么能在C
- 6. 你怎么能使用jQuery
- 7. 当你从错误的分支分支出来并有不需要的提交时该怎么办?
- 8. 你怎么只在UPC-12验证
- 9. 你怎么能让android模拟器支持语音识别
- 10. 我如何从另一个分支拉出而不离开当前分支?
- 11. 你的分支提前1次提交
- 12. 你的分支提前1次提交
- 13. TFS分支分支 - 只显示当前父母和“没有父母”
- 14. 我怎么拉的git远程分支没有冲突?
- 15. 你怎么能当用户点击,在Windows Mobile(.NET CF 3.5)
- 16. 混帐拉branch_1并合并到当前分支同时
- 17. 你怎么能方便地测试在Ruby中的散列平等,当你只关心相交的钥匙?
- 18. 设置github分支拉(只读)
- 19. GitExtensions只显示主分支在“分支”下拉列表
- 20. 重新分支chnage当前分支或我们重新分支的分支
- 21. 你怎么能动态地在红
- 22. MySQL的 - 你怎么能在两列
- 23. 你怎么能告诉png8从png24
- 24. 你怎么知道可能有例外?
- 25. 你怎么能干这个代码?
- 26. 你怎么能单元测试DelegateCommand
- 27. 你怎么称呼less.js功能
- 28. 你怎么能拆分导入文本不同的变量
- 29. 你怎么能目标的一部分svg图像
- 30. 你怎么R中
这是正确的,也许有点奇怪,因为“git push”(默认)尝试推送所有分支(具有相同的远程名称)。 – 2013-09-03 13:58:05
@AlessandroDs嗯,我为此设置push.default为上游。 push.default的新默认值是“简单”,它再次只更新当前分支,所以与pull相比更加平行。 – 2013-09-04 03:50:29
@SethRobertson:谢谢你的回答,你能详细说明最后一部分吗?通过修改,你的意思是变化不会从远程回购中被取消吗?我们发现每个人都有100MB左右的分支,当我们做一个拉时,我们会得到几个〜100MB的下载(基本上所有分支)。 – danjah 2014-10-09 21:22:46