是否有可能检查一行而不是整个文件?

如果我已经修改了版本化文件的几行,是否可以通过命令行来撤销一行的更改?

就像我会为整个文件做:

git checkout /path/to/file.extension 

但是做一些像这样的事情

 git checkout /path/to/file.extension --line 10 

这可能吗?

您可以使用git checkout -p来单独查看每个大块,并决定是否将它们检出或保留(如果您想进一步缩小范围,也可以使用可选的path参数)。

为了详细说明Matt的答案, git checkout --patch -- <path argument>启动一个交互模式,其中包含以下选项:

 y - stage this hunk n - do not stage this hunk q - quit; do not stage this hunk or any of the remaining ones a - stage this hunk and all later hunks in the file d - do not stage this hunk or any of the later hunks in the file g - select a hunk to go to / - search for a hunk matching the given regex j - leave this hunk undecided, see next undecided hunk J - leave this hunk undecided, see next hunk k - leave this hunk undecided, see previous undecided hunk K - leave this hunk undecided, see previous hunk s - split the current hunk into smaller hunks e - manually edit the current hunk ? - print help 

你和你的select是一个很好的开始。

也可以看看: