我希望在我的主分支下面有100%的藏匿4aa0f82
问题是,stash apply / pop不会应用所有更改。我可以解决一些冲突,但是我更改并保存在存储中的一些重要内容不会出现在冲突中(可能是因为在它们之间存在一个分离的HEAD的提交)。
我希望100%的藏匿在我的分支上。当我结帐存货@ {0}时,它就在那里。如何在我的分支上移动完整的存储提交?
git log --graph --decorate --oneline stash
输出:
*-. 6872ac5 (refs/stash) WIP on (no branch): d5da51e
|\ \
| | * 52db257 untracked files on (no branch): d5da51e
| * fb1c947 index on (no branch): d5da51e
|/
* d5da51e bug removed
|\
| * 3096570 index on master: 89f11dd
|/
* 89f11dd (HEAD, master)
git log --graph --decorate --oneline
输出:
* 4aa0f82 (HEAD)
|\
| * bb34a5b index on HEAD: d5da51e
|/
* d5da51e
|\
| * 3096570 index on master: 89f11dd
|/
* 89f11dd (master)
答案 0 :(得分:1)
4aa0f82
不是隐藏提交,或者不再是隐藏提交。看起来你已经在签出的存储提交上做了你的工作,无论如何,从这里得到你想要的最简单的方法,如果我理解正确,将会是
# if you want all the changes from master through 4aa0f82 (i.e. also the d5da51e work)
git checkout master
git merge --squash 4aa0f82 # HEAD@{1}, "where HEAD was 1 checkout ago" works too
# if you want just the 4aa0f82 changes, not the d5da51e ones:
git checkout master
git cherry-pick --no-commit 4aa0f82 # edit: might need `bb34a5b` here instead
git commit
但我很确定它是你想要的第一套,d5da51e
更改。