Git中最简单的方法是“挑选”单个文件的未提交更改?

时间:2010-01-31 08:18:23

标签: git

如果我在Git的工作目录中对单个文件进行了一系列未提交的更改,那么有选择地选择这些更改的最简单方法是什么?

我目前的方法是“git diff”文件,然后手动查看实际文件旁边的差异。如果我想恢复一些旧代码,我可以从diff复制并粘贴到文件中。

如果可以在单个文件中查看和编辑更改,则在某些情况下会更容易。例如,是否有一个Git命令可用于将工作文件转换为类似冲突解决方案的格式 - 即使用“<<<<<<<未提交的更改周围的符号?通过这种方式,您可以选择更改,而无需从一个文件剪切和粘贴到另一个文件。

我不确定如何实现这一点,因为它不是一种三向(合并)情况。相反,它是一种双向情况,对一个文件进行一组更改(因此没有冲突)。感谢。

2 个答案:

答案 0 :(得分:11)

您可以通过git add --patch选择要在提交中添加的帅哥。如果要添加该更改集,这将询问您文件更改中的每个块。如果某个特定的大块对你来说太大了,你可以进一步拆分它。 git-add--interactive还有另一个选项,可让您使用多个文件。

有关详情,请参阅Google搜索中的git-add man pagethis post

答案 1 :(得分:1)

除了git add --patch之外还有git add -i:您可以将其视为git add --patch上的一层。

git add --patchgit add -i

上的教程