我有一個簡單的問題,但我在這裏找不到重複內容。在提交新的更改之前更正以前的提交
我承諾將(承諾1)更改爲wip
分支並繼續開發。現在我想提交新的更改(承諾2),但我注意到承諾1有一個錯誤。
我如何保存我的變化(相對於提交2)無commiting他們,回去承諾1並解決它,然後帶回這些變化並執行承諾2?
我有一個簡單的問題,但我在這裏找不到重複內容。在提交新的更改之前更正以前的提交
我承諾將(承諾1)更改爲wip
分支並繼續開發。現在我想提交新的更改(承諾2),但我注意到承諾1有一個錯誤。
我如何保存我的變化(相對於提交2)無commiting他們,回去承諾1並解決它,然後帶回這些變化並執行承諾2?
從你的問題,我有一個要添加更多的變化的理解提交1.
git stash
您爲commit-2所做的更改然後修改先前的提交。
爲此您應該使用git commit --amend
。在此描述:
https://www.atlassian.com/git/tutorials/rewriting-history/
那麼你可以使用git stash apply
應用藏匿的變化,並承諾在變化提交-2
您可以使用git stash
:
通常情況下,當你一直在做項目的一部分,東西都在 一個混亂的狀態,你想切換分支的位元對 工作的東西其他。問題是,你不想做一個承諾完成一半的工作,以便以後可以回到這一點。該問題的 答案是
git stash
命令。
你應該做的:
git stash
<checkout other branch>
<commit changes>
<checkout first branch>
git stash pop
或者:
commit --amend
,或剛剛提交你的改變然後自然秩序和rebase。這將給像
commit1 -> commit2 -> commit1fix <HEAD
和運行rebase -i HEAD~3
,你可以重新排序提交像這樣:
pick aaaa commit1
fixup cccc commit1fix
pick bbbb commit2