簡體   English   中英

在git中的遠程存儲庫上創建專用分支

[英]Create private branch on remote repository in git

我想在我們公司的git上構建特定的流程。

  1. 開發人員在他的本地機器上創建一個分支並提交一些文件。
  2. dev將此分支推送到遠程倉庫
  3. 其他開發人員無法訪問此分支
  4. 經過幾輪推動開發人員決定公布他的變化。
  5. 將他的私人分支合並到公共分支
  6. 推動那個公共分支。

換句話說 - 是否可以在公共存儲庫中配置私有遠程分支?

我團隊中使用的流程是除了主git服務器上的源之外,還為每個團隊成員提供完整的單獨存儲庫。

  1. Dev在本地機器上創建本地分支並提交
  2. 在一天結束時(或適當的時候)dev推送到他的私人倉庫git push jdoe-private my-cool-branch
  3. Dev決定他很高興發布並可能合並的作品,因此可以整理它並且不受懲罰地改變它
  4. Dev推動他的分支到原點git push origin my-cool-branch

對我們來說,這種設置的基本原理是允許開發人員自由地改變並避免上游變基引起的問題以及完全備份。 單獨的存儲庫僅按慣例私有,但如果需要,可以很容易地添加訪問控制。 有很多重復的數據,但除非你的回購真的很大,這可能不是一個問題。

我所知道的常見解決方案是通過將一些字符串添加到分支名稱來同意“分支命名空間”。 例如,以“private /”開頭的分支用於私人實驗。 然后你會得到分支

  • 民營/ JOHNDOE /重構,taxcalculation
  • 民營/ JOHNDOE / newGUILayout
  • 民營/ JaneJones / Java8
  • 民營/ TKirk /建造太空飛船

這使分支保持分離,並清楚地表明它們的目的是什么。 但是,分支仍然是公開的,因為任何人都可以看到並拉動它們。

如果要根據用戶限制對這些分支的訪問,則需要使用某種基於分支的訪問控制。 在核心git中沒有這樣的東西,但是一些git托管服務器允許這個(例如Atlassian Stash)。 我不知道任何允許這種私有分支的服務器,但也許有一個允許它或讓你編寫解決方案的腳本。

但請注意,您要求的是相當不尋常的。 常見的解決方案是我上面概述的解決方案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM