有沒有辦法設置一個分支,使其只能合併到一個分支中,而不是推入?此外,有什麼辦法可以在BitBucket,GitLab或GitHub上運行?BitBucket/GitLab/GitHub上的合併分支?
我們在功能分支上工作,將它們推送到BitBucket/GitLab/GitHub(取決於項目),然後將它們合併到名爲'development'的集成分支中。我想阻止人們直接推動「發展」。
BitBucket具有限制訪問分支機構的手段,但它也阻止人們也能夠執行合併請求。
有沒有辦法設置一個分支,使其只能合併到一個分支中,而不是推入?此外,有什麼辦法可以在BitBucket,GitLab或GitHub上運行?BitBucket/GitLab/GitHub上的合併分支?
我們在功能分支上工作,將它們推送到BitBucket/GitLab/GitHub(取決於項目),然後將它們合併到名爲'development'的集成分支中。我想阻止人們直接推動「發展」。
BitBucket具有限制訪問分支機構的手段,但它也阻止人們也能夠執行合併請求。
是:它被稱爲forking(如GitHub fork和its tips,BitBucket fork和GitLab fork)。
您有一個只有集成商負責的回購(他/她將合併到目的地分行)。
開發人員無法推送到該回購。
你有「分叉回購」,在那裏你可以引入請求到原來的回購:貢獻者可以推他們想要的,然後任何分行(從推分支)拉請求到目的地分支的原始回購。
從理論上講,你可以只用一個upstream repo,但這需要一個authorization layer像gitolite,以防止推/合併分支。
Github(不保護分支),BitBucket(保護分支,但不保護分支)和GitLab(與BitBucket相同)不可用。
這就是爲什麼它更容易與幾個上游回購:一個原始的,一個或幾個分叉。
並從github /到位桶/ GitLab有大約引入請求一個漂亮的界面,追平那些評論,促進圍繞一個特定拉動請求的交流和討論。
的分岔+拉請求不只是「git的方式」,它確實是集成了許多貢獻,which is why git was invented by Linus Torvalds in the first place最方便的方法:幫助他整合補丁很多每天爲他的Linux內核。
「受保護的分支」的方式mentioned由Tippa Raj(以及我剛纔所說的上面)不是一個方法,我會建議,因爲這將人爲地強制執行集中方法,你需要掌控一切:
GitHub不提供受保護的分支機構,因爲這個原因。
(實際上,自2015年9月起,它確實:請參閱「How to protect 「master」 in github?」)
BitBucket和GitLab確實提供了該功能。
個人回購也可以管理和保護分支(甚至文件夾和文件),並增加authorization layer如gitolite。
但是,當涉及到促進功能分支周圍的協作時,沒有什麼能夠打敗請求。
除了叉和合並,還有另一種方法。
我不確定Bitbucket和Github,但Gitlab有一個功能可以保護分支。所以除了「主用戶」以外,任何人都不會推動該分支。所以開發人員可以推入功能分支,然後分支可以合併到master
分支由「主用戶」
Bitbucket與分支限制有類似的機制:https://blog.bitbucket.org/2013/09/16/take-control-with-branch-restrictions/ –
從技術上講,合併只是一個提交與多個父母,你仍然需要推到某個地方,如果你想發佈它。 – poke