2016-01-26 25 views
1

我習慣使用git。 我的正常工作流程是:git merge:PR在主人「搞砸了」我的測試分支,我該如何解決它?

dev --> test --> master 

我喜歡它,它的偉大工程。

現在,在我正與其他遠程開發人員合作的一個項目中,我被指示將其他人的工作請求包含在我們的公共存儲庫中。

我收到了PR電子郵件,去了github,並在快速檢查後點擊合併按鈕。然後我去了當地的回購站,做了git pull origin master,新的變化出現在那裏。一切都好。

但是,這裏有一個問題。我最初被要求對PR受影響的一些文件進行更改。我曾在dev上工作,並推到test - 但不是master

自然,mastertest有差異。我想我可以通過在git checkout test之後發行git merge master來解決問題。

給我(初次)驚喜,我現在在test,這兩個變化 - 我的同事和我的git diff mastertest裏面顯示的差異。

我現在明白 - 我必須首先轉儲我過時的更改。

擔心,並且必須更新dev以及當前有變化,現在如何解決?我可以在test上取消合併並從頭開始?

回答

2

我覺得你最好的辦法是在新的master

git checkout test 
git rebase master -i 

變基test您可以刪除陳舊的底墊期間提交。

+0

謝謝@Igal S.,這可能是一個很好的解決方案。但看到rebase交互文件提交後,發現我有不同的提交穿插,其中一些我需要和一些不,我有驚慌的哈哈。我訴諸手動.... – faboolous

0

我採取手動操作。

經過最初的恐慌後平靜下來,我意識到變化很小,並影響了5個文件。

所以我去了那裏,將它們從master複製到/tmp,檢出test並將它們複製回來。

現在受影響的目錄下mastertest之間沒有差異。唷。

相關問題