gpt4 book ai didi

git stash -> 将 stash 的更改与当前更改 merge

转载 作者:IT王子 更新时间:2023-10-29 01:17:51 27 4
gpt4 key购买 nike

我对我的分支进行了一些更改,然后意识到我忘记了我已经对所述分支进行了一些其他必要的更改。我想要的是一种将我 stash 的更改与当前更改 merge 的方法。

有办法吗?

更多的是为了方便,我最终放弃了并首先提交了我当前的更改,然后是我 stash 的更改,但我更愿意一下子把它们放进去。

最佳答案

tl;博士

先运行 git add


我刚刚发现,如果您未提交的更改被添加到索引中(即“暂存”,使用 git add ...),那么 git stash apply(和,据推测,git stash pop) 实际上会进行适当的 merge 。如果没有冲突,你就是黄金。如果没有,请像往常一样使用 git mergetool 或使用编辑器手动解决它们。

明确地说,这就是我所说的过程:

mkdir test-repo && cd test-repo && git init
echo test > test.txt
git add test.txt && git commit -m "Initial version"

# here's the interesting part:

# make a local change and stash it:
echo test2 > test.txt
git stash

# make a different local change:
echo test3 > test.txt

# try to apply the previous changes:
git stash apply
# git complains "Cannot apply to a dirty working tree, please stage your changes"

# add "test3" changes to the index, then re-try the stash:
git add test.txt
git stash apply
# git says: "Auto-merging test.txt"
# git says: "CONFLICT (content): Merge conflict in test.txt"

...这可能是您正在寻找的。

关于git stash -> 将 stash 的更改与当前更改 merge ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11675841/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com