gpt4 book ai didi

git - 在 git 中交换分阶段和非分阶段更改的最短方法是什么?

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

如果有一些变化被添加到索引中,有一些变化没有被添加到索引中,我该如何交换这两组变化?

最佳答案

它认为这对于临时提交来说是最简单的。当您有暂存和未暂存提交时,您在尝试对更改重新排序时可能会发生冲突。

对分阶段的更改进行提交,创建一个分支供以后使用:

git commit -m "Saved staged"
git branch save-staged

使用未暂存的更改进行提交(如果未暂存的更改包含新文件,您可能需要先明确地 git add 它们):

git commit -a -m "Unstaged changes"

将未暂存的更改重新定位到原始 HEAD 上(可能涉及冲突解决):

git rebase --onto HEAD^^ HEAD^

将暂存变更重新定位到未暂存变更(可能涉及冲突解决):

git reset --hard save-staged
git rebase --onto HEAD@{1} HEAD^

最后,将索引重置为(最初)未暂存的更改:

git reset HEAD^

并将分支指针移回原来的HEAD:

git reset --soft HEAD^

删除了临时分支:

git branch -D save-staged

关于git - 在 git 中交换分阶段和非分阶段更改的最短方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3573410/

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