簡體   English   中英

如何使用git-svn將更改從trunk更改為svn中的分支?

[英]How do I use git-svn to merge changes from trunk to a branch in svn?

我見過人們建議使用git-svn進行合並並將其提交回svn。

我正在尋找一個好的一步一步的指南。

  • 是值得的麻煩還是我應該使用svn來做到這一點。
  • 人們會看到我使用過git,是否有關於svn合並的元數據?
  • 我可以選擇中繼和1分支的克隆嗎?
  • 我需要一個完整的克隆,還是可以從分支的位置導入它?

我已經使用了這篇文章中的說明取得了很大的成功。 http://justaddwater.dk/2009/03/09/using-git-for-svn-repositories-workflow/

我使用git在分支之間合並然后將它們提交到svn repo。 這不遵循svn的合並過程,因此這對其他用戶來說可能是個問題。 未設置svn:merge屬性

git-svn在svn repo中沒有留下任何你使用git-svn的證據。

是值得的麻煩還是我應該使用svn來做到這一點。

我認為這取決於您希望在SVN中保留多少信息。 如果你使用git進行合並,我相信SVN不會知道更改的來源,或者換句話說,它看起來像SVN主干和分支仍然是分開的。

人們會看到我使用過git,是否有關於svn合並的元數據?

不,它看起來就像是對trunk的新提交。

我可以選擇中繼和1分支的克隆嗎?

如果你的意思是將你的git-svn克隆到一個新的git repo中,那么是的。 只需克隆git-svn並刪除無關的分支,或者在克隆之前直接在git-svn repo中執行此操作。

這是一篇如何將SVN repo轉換為git的帖子。 我認為大部分都適用於這種情況。

我需要一個完整的克隆,還是可以從分支的位置導入它?

除非使用--depth選項,否則Git克隆通常是完整克隆。 如果你想丟棄以前的歷史記錄,你可以隨時將所有提交壓縮成舊的提交,或者只刪除.git目錄並初始化一個新的倉庫。

我已經閱讀了一些人建議這樣做的文章,但我認為只有在你使用GIT和SVN同一代碼(使用git的本地repo和使用svn的托管repo)時才應該使用它。 我建議你堅持使用VCS並獲得適當的合並工具,如BeyondCompare或Kaleidoscope

關於git-svn的小教程可以在

http://flavio.castelli.name/howto_use_git_with_svn

暫無
暫無

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

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