我的回購是SVN,我做所有的開發使用Git。我們有一個標準的佈局,我初始化我的本地回購與git svn init -s <url to repo>
git-svn如何知道dcommit要分支到哪個分支?
這是我與分公司的工作流程:
# creates a new branch remotely
git svn branch new-branch-name
# switches to a branch or trunk locally
git reset --hard name-of-branch
git reset --hard trunk
# merge changes from trunk into a branch
git reset —hard name-of-branch
git merge trunk
git svn dcommit
最後一個命令上面會更改提交到分支名稱的分支。我的問題是,git如何知道這一點?當我做git reset --hard foo
,究竟發生了什麼?
這可能只是回落到大約GIT中的一般問題。每次我嘗試研究一個答案時,我都會對svn整合是否是一種特殊情況感到困惑。
[1]「git-svn將查找提交樹來提交對應於活動SVN分支的祖先提交,然後將提交給那些提交樹。」 - 有時它猜測錯了 - 有沒有辦法讓我明確指定它? [2]「這種東西可能會讓你的SVN歷史變得模糊 - 所以,歷史將是不合理的,但是代碼文件的合併應該很好,是的? – 2010-11-12 19:49:25
嗯,手冊頁說'--commit-url'應該只用於切換傳輸,並且「非常強烈地勸阻」使用這個選項用於任何其他目的(不要問)。「 – 2010-11-12 19:51:20
如果你想指定一個特定的分支來提交,只需要在你的Git倉庫中相應的遠程分支上重新分配你的特性分支。 – cdhowie 2010-11-12 19:52:13