有沒有一種配置方式來設置它,而不必指定哪個分支?你怎麼能只拉當前分支?
回答
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. 你怎麼能問當前選項的bash?
- 2. 你怎麼能histfit
- 3. 你怎麼稱呼它,當
- 4. 你怎麼能訪問UIImagePickerControllerMediaMetatdata
- 5. 你怎麼能在C
- 6. 你怎麼能使用jQuery
- 7. 你怎麼樣cpp功能?
- 8. 你怎麼能在JBoss
- 9. 你怎麼能在bash
- 10. 當在Java中拉一個網頁,你怎麼能確保Ajax調用完成
- 11. 從父分支更新當前分支
- 12. 如何找到當前分支跟蹤什麼分支
- 13. 破碎分支,致命的:你當前分支似乎被打破
- 14. 當你從錯誤的分支分支出來並有不需要的提交時該怎麼辦?
- 15. 在SVN中,你怎麼知道哪個分支被修改過?
- 16. 你怎麼只在UPC-12驗證
- 17. 你怎麼能讓android模擬器支持語音識別
- 18. 你怎麼能增加數據切換=「下拉菜單」,以錨
- 19. 你怎麼收到您當前的PHP文件的URL
- 20. 爲什麼它說:「你的分支是提前起源由857個提交/主」當我需要*拉*起源主
- 21. 你怎麼能只圍繞Xamarin.iOS UITableView的兩個角落?
- 22. 我如何從另一個分支拉出而不離開當前分支?
- 23. 你的分支提前1次提交
- 24. 你的分支提前1次提交
- 25. 你怎麼logstash
- 26. 你怎麼knitr
- 27. 你怎麼angular.js
- 28. TFS分支分支 - 只顯示當前父母和「沒有父母」
- 29. Git分支從當前分支的另一個分支
- 30. 你怎麼能當用戶點擊,在Windows Mobile(.NET CF 3.5)
這是正確的,也許有點奇怪,因爲「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