簡體   English   中英

git-svn如何合並從本地git repo到其他遠程svn分支的更改?

[英]git-svn How can I merge changes from a local git repo to a different remote svn branch?

我從svn分支創建了本地git存儲庫,以便在所有工作准備就緒時使用git的功能並進行dcommit。 我進行了很大的更改,因此推遲了。 我在svn中工作的分支已合並到主干並刪除了。 創建了一個新的發行分支。 如果我在svn中,我將切換到新分支並拉。 相反,我克隆了新分支,並希望將所做的更改合並到其中,然后提交。 但是,git顯然看不到他們的共享歷史記錄,我的所有更改看起來像是沖突:

$ git svn clone --revision HEAD  https://svnedge.yadayada.com/svn/ASSIST/branches/FY15Q4X_AugMaint FY15Q4X_AugMaint
...edit,build,test....
$ git svn clone --revision HEAD  https://svnedge.yadayada.com/svn/ASSIST/branches/FY16Q1X_OctMaint FY16Q1X_OctMaint
$ git branch maint
$ git remote add hankr ../FY15Q4X_AugMaint
$ git checkout -t hankr/maint
$ git merge maint
... almost every file a conflict...

有人建議,如果我拉入整個存儲庫,則git可以查看共享歷史記錄。 我沒有要保留的提交歷史記錄,我只想將所做的更改引入新版本中。 感謝您的提示。

我的合並方向錯誤。 將遙控器“ hank”和我以前的作品“ ../FY15Q4X_AugMaint”添加為遙控器是正確的。 您可以從上次停止的地方接機,也就是說,可以通過將對SVN的更改重新部署到新的SVN分支上來重播保留在本地git-svn存儲庫中的更改。

$ git remote add or ../ASSIST
$ git checkout -t hankr/maint

您的配置應如下所示:

# .git/config (were these created from command line or added?
[remote "hankr"]
    url = ../ASSIST
    fetch = +refs/heads/*:refs/remotes/hankr/*
[branch "maint"]
    remote = hankr
    merge = refs/heads/maint

現在您應該可以重新設置基准了:

$ git rebase -i master
$ git merge maint

當然,SVN允許您切換分支,所以我可以做到這一點,提取更改並解決文件上的任何沖突。

暫無
暫無

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

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