如何取消暂存(但保持合并)

问题描述 投票:0回答:2

所以我做了一个:

git merge --no-ff --no-commit source\branch

很好,合并正在进行中(我在 .git 文件夹中有一个 MERGE_HEAD)...但是它暂存了一些文件...

我想取消这些文件,但不取消合并....

我可以通过 Visual Studio IDE 做到这一点......

但是一个

git reset

似乎要取消合并 [MERGE_HEAD 消失].....

所以如何取消阶段,但将其保留为正在进行的合并,以便我可以进行我想要的实际更改,但将其记录为合并(多父级)

**注意:这个问题与我见过的所有其他问题不同,因为需要保留现有的 MEGE_HEAD 和相关状态...

git
2个回答
0
投票

要提前做,告诉 Git 根本不做自动合并:

git merge --no-commit --no-ff -s ours sourcebranch

要追溯执行它,有一个核心命令可以撤消自动合并(通过用

-s ours
结果踩踏它):

git read-tree --reset @

0
投票

尝试

git reset .
git reset <path1> <path2> ...

或使用

git restore

git restore --staged .

具有路径规范的版本为指定路径重置索引条目,但不影响活动提交。

如果你不指定路径,另一方面,

git reset
将改变活动提交或当前分支的状态,并且显然会丢弃有关正在进行的合并的信息(我可以在测试中重现相同的行为回购)。

© www.soinside.com 2019 - 2024. All rights reserved.