2015-06-08 42 views
1

我通過簽出公共回購協議並提交代碼而不是啓動分支來啓動回購協議 - 因此我的「分支」不包含原始的歷史記錄(其實原因是這是一個框架,這是指示)。現在我意識到我還想從上游獲得錯誤修正。如何在git中「預先」回購歷史記錄

我該如何開始分叉並在其上應用我的歷史記錄?我知道如何分叉到一個新的回購,恢復到某個提交(我的歷史開始),但我不知道如何應用我的歷史。然後我知道如何獲取更新併合並它們。

這一切都在github上(我的和原始的回購),如果這可能有所幫助。

+0

您正在尋找'git rebase'。 – SLaks

+0

我很熟悉'git rebase'。但是,如果源是回購A並且我的更改在回購B(其中不包括回購A的歷史記錄),我不知道如何使用rebase。 – ddinchev

回答

1

使用git pull將repo B中的所有提交拉回到repo A中的新分支,然後使用git rebase在現有分支之上重播該分支。

+0

我試過了,但它不起作用。由於我的回購的第一次提交是原始的歷史遲交。所以試圖在我的頂部回放原始回購的全部歷史都失敗了。 – ddinchev

+0

@ddinchev:做'git rebase -i newBranch'並刪除第一次提交。或者用排除第一次提交的提交範圍執行'git cherry-pick'。 – SLaks

+0

你的意思是重放我的歷史,沒有第一次提交,在新的分支之上,包括原始的整個歷史?嗯,那可以工作! – ddinchev

相關問題