這可能違背了git的設計理念,但是:在我的組織中,我經常拉下數以千計的開發人員分支,名爲例如: Dev/<login>/<something...>
有沒有辦法讓git忽略整個分支?
我寧願有git,默認情況下,不拉下這些分支。然後,如果事實證明我確實需要在特定分支中進行協作,那麼我只是明確地將其拉下來。
這可能嗎? (我很少研究表明無)
感謝
這可能違背了git的設計理念,但是:在我的組織中,我經常拉下數以千計的開發人員分支,名爲例如: Dev/<login>/<something...>
有沒有辦法讓git忽略整個分支?
我寧願有git,默認情況下,不拉下這些分支。然後,如果事實證明我確實需要在特定分支中進行協作,那麼我只是明確地將其拉下來。
這可能嗎? (我很少研究表明無)
感謝
git-pull
使用git-fetch
。
查看https://git-scm.com/docs/git-fetch的文檔,特別是「配置遠程跟蹤分支」部分(下面逐字附加)。
看着這一點,您只能將模式列入白名單,而不能排除某些模式。什麼,你可以因此要做的就是一個:
Dev/*
和Foo/*
區分混帳取允許您將遠程配置。 <存儲庫> .fetch配置變量。
典型地,這樣一個可變可能看起來像這樣:
[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
該配置在兩種方式使用:
當GIT中取指令而不指定什麼分支和/或代碼,以便在所述命令獲取運行線,例如git獲取原點或git獲取,遠程。 <資源庫> .fetch值用作refspecs-它們指定要獲取哪個ref以及哪些本地ref需要更新。上面的例子將獲取原點中存在的所有分支(即任何與值左側相匹配的ref,refs/heads/),並更新refs/remotes/origin/中相應的遠程跟蹤分支層次結構。
哦,謝謝你, @torek! –
你總是可以簡單地獲取你正在工作的當前分支,並且只能獲取這個分支。
我寧願讓Git,默認情況下,當你需要合併你的分支,你可以隨時使用這個語法來拉拽不下來這些分支
# pull only the current branch you are working on
# git pull = git fetch && git merge
git pull origin <branch name>
現在/合併它:
# grab the remote branch
git pull origin Dev/<branch name>
另一種方式是 「玩」 與您refspec
但我不是recommendin即便是因爲它很簡單。
這是一個樣表的文檔:
......但是,你可以使用命名空間(或目錄)來完成類似的東西。
如果你有一個QA組,他們推送一系列分支,
,你想要得到的主分支和QA組的所有分支,但沒有別的,你可以使用這樣的配置部分:[remote "origin"] url = https://github.com/schacon/simplegit-progit fetch = +refs/heads/master:refs/remotes/origin/master fetch = +refs/heads/qa/*:refs/remotes/origin/qa/*
'.gitignore'將會是錯誤的地方。您需要調整'.git/config'中的'fetch'規範以獲取適當的遙控器。嘗試在那裏玩一些通配符。對不起,我沒有足夠的知識來幫助你進一步,但很想看到一個工作的解決方案。 :-) –
可能重複[可以永久忽略遠程分支?](http://stackoverflow.com/questions/16842426/can-git-permanently-ignore-a-remote-branch) –