假设我有原始文件(numbers.txt),
1
2
3
.
4
5
一旦我更改了文件(numbers.txt),我就得到了
1
2
3
-.
4
5
+6
在我进行更改之前,我想看看我想从最新的编辑中接受哪些行。
当我运行git patch(git add -p)命令时,将numbers.txt文件放入,删除点(。),如上所示。
1
2
3
4
5
6
现在我可以使用(git commit -m'最新更新')
此时我仍然会在我的非舞台区域中输入'numbers.txt'文件。哪个是包含所有原始补丁的文件。但是,在非阶段区域中的'numbers.txt'并不能准确表示我在我的存储库中接受的补丁。但我的项目目录仍包含此文件。
将来,当对(number.txt)文件进行新的补丁/更改时,这些更改将与我目录中的(numbers.txt)进行比较,而不是结帐时的(numbers.txt)。
问题是“你们如何摆脱这个numbers.txt”文件并将其更新为已提交的相同numbers.txt?
答案 0 :(得分:0)
这样做的方法是,
git checkout - [FILENAME]
这会让git将结帐(索引)中的文件提取到我的工作目录中。
如果我想将结帐(索引)中的所有文件提取到我的工作目录中,我需要输入,
git checkout - 。
。最后会带来从结账(索引)到我工作目录的所有内容。
当我们接受文件补丁时,这对于上述两个命令很安静。
因为你会遇到一些情况,你会接受一些文件到FILE并拒绝一些,这会把你的文件放到分阶段和非阶段区域。您可以使用“git status”命令确认这一点。
提交文件后,您不需要在非暂存区域内存在您的文件版本。为此,您需要使用git checkout - FILENAME命令将文件从checkout(index)带入您的工作目录。
如果您修补了多个文件,那么使用 git checkout - 。命令
是很有用的