[英]How Can I Do Git SVN Correctly?
在工作環境中,我們的版本控制是Subversion,並且不太可能更改。 我想在本地使用Git,主要是為了利用本地存儲庫。
語境
基本網址: http://www.example.com/code (與./trunk,./branches,./tags)。
使用TortoiseGit,我可以指定要簽出的那個。 我想在本地提供所有分支機構,標簽和中繼。 這意味着,如果需要的話,我可以基於一個遠程分支從本地分支合並回到主分支。
如何正確執行此操作?
在完成這一漫長的過程之后,我嘗試使用TortoiseGit的“ SVN Rebase”將基准遷移到remotes / branch / EXAMPLE-BRANCH1 ,從master
轉移到remotes/branch/test-branch
。 失敗了,說主人落后了。
當我嘗試從master
轉到基於remotes/branch/test-branch
的本地remotes/branch/test-branch
,合並不起作用。
要克隆您的存儲庫,包括具有標准布局的所有主干/分支/標簽(如您所述):
git svn clone -s http://www.example.com/code new-repo-directory
注意:使用git並非萬能的。 您仍然需要解決合並/變基沖突。 您可能會少很多,但它們不會完全消失。 該故障可能是准確的,表明您需要解決沖突,然后使用git rebase --continue
完成git rebase --continue
。
我敢肯定,龜甲在很多事情上都能提供很大的幫助。 但是我多次被告知,如果您學會使用命令行(我相信我同意),並且在您了解GUI助手的工作方式之后,才將GUI幫助程序用作工具,將會從git中獲得更多收益。現場。
PS- git svn rebase
用於將SVN中所做的更改應用到當前SVN跟蹤分支的頂部。 如果您嘗試合並2個不同的SVN跟蹤分支,則需要使用git checkout branch-to-update
然后使用git rebase branch-with-updates
(並解決所有沖突,然后git add the-conflicted-file
和git rebase --continue
直到完成)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.