我做了巨大的合併,從ide(intellij想法),所以當所有的衝突解決,並且som代碼被修改,我做了提交(合併) ,然後注意到有兩個文件正在重新提交。所以我再次承諾。Git恢復合併,再加上一個提交重新合併
有兩種questionss:
爲什麼我已經第二次提交。這是因爲IDE不知何故錯過了
added
承諾合併(ide不夠聰明,看到一個合併的上下文中的所有變化?)。如果我忘記add
文件到index
如果我會在合併後使用命令行(?)如何恢復這兩個提交以便我可以執行一個純合併?
像圖:
[commit1] < - [megre提交] < - [前提交] | (主)
我試圖git rebase -i rebase HEAD~2
(只是最初的想法到兩次提交合並),但顯示所有121個commists - 一個commit1和合並提交120。
基本上我想將[lost] /'detached'[commit1]添加到[merge-commit]並進行一次合併。
更新: 我沒有我的代碼與我一起嘗試,但這是否有意義?
// revert two commits to have one
1. git reset --soft HEAD~
2. git revert -m 1 merge-commit
3. git commit
我希望再次看到所有那些1 + 120提交。但後來我將如何合併
// move my merged stuff into new branch
4. git push origin -u new_branch
// move back on history in master branch
5. git reset --hard before-commit
6. git merge new_branch
7. git push -f origin master
那麼這個混帳合併new_branch會去沒有任何衝突,因爲我alredy被合併..所以可能不會顯示從那裏它是從真正的合併(HI)的故事..但至少最終的結果應該是一樣的。理論上。
?
這孩子,這就是爲什麼使用IDE的Git的整合永遠是您自己的風險,以及爲什麼使用CLI幾乎總是首選。你**可能能夠通過交互式底圖來壓縮提交(如果你還沒有推送提交)。但是,請確保它適用於合併提交,因爲我不確定。 –
IDE剛好適合合併,所以我看到了不錯的圖片,改變了什麼以及如何改變。 – ses
我遵循任何Git GUI的「look,do not touch」規則。 –