簡體   English   中英

使用GIT-SVN創建的GIT倉庫分叉的限制?

[英]Limitations on forking from a GIT repo created with GIT-SVN?

許多開源項目(例如django )都有GIT鏡像,而這些鏡像又用於私人或公共開發。 GIT鏡像與git svn rebase保持git svn rebase Pro Git Book包含了這個明確的建議:

啊,但是變相的幸福並非沒有缺點,可以用一條線來概括:

不要將已推送到公共存儲庫的提交重新綁定。

如果你遵循這個准則,你會沒事的。 如果你不這樣做,人們會恨你,你會被朋友和家人嘲笑。

當您重新設置內容時,您將放棄現有提交並創建相似但不同的新提交。 如果你將提交推送到某個地方而其他人將它們拉下來並依賴它們,然后你用git rebase重寫這些提交並再次推送它們,那么你的協作者將不得不重新合並他們的工作,當你試圖將事情變得混亂把他們的工作拉回你的工作。

像Django這樣的開源鏡像打破了上面關於不在公共回購中進行變基的粗體規則嗎? 如果沒有,為什么不呢? 如果是這樣,使用這些鏡像可以通過“常規”非重新定位的Git項目完成什么? 如果這是一個明顯的問題,請道歉; 我是一個Git新手。

這個想法是:

  • 無論Git分支是什么, git svn rebase的直接結果都不應該重新定位:它的歷史必須保持原始導入,以便成功進行dcommit
  • 任何其他Git分支(不直接鏈接到SVN分支)都可以隨意合並/重新組合。

另請參閱使用git-svn在svn中輕松合並

因此,如果受各種Django倉庫中的merge / rebase影響的分支不是與dcommit相關的分支(同步回SVN倉庫),那應該沒問題。

暫無
暫無

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

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