我注意到,在处理一两张票时,如果我走开,我不确定我在做什么,什么改变了,等等。
是否有一种方法可以在git添加和提交之前查看给定文件所做的更改?
我注意到,在处理一两张票时,如果我走开,我不确定我在做什么,什么改变了,等等。
是否有一种方法可以在git添加和提交之前查看给定文件所做的更改?
当前回答
你要找的是
Git diff——阶段性的
根据你的具体情况,有三种有用的方法来使用git diff:
显示索引和工作树之间的差异;也就是说,你还没有提交的更改:
git diff [filename]
显示当前提交和索引之间的差异;也就是说,你要提交的东西(——staging做完全相同的事情,使用你喜欢的东西):
git diff --cached [filename]
显示当前提交和工作树之间的差异:
git diff HEAD [filename]
Git diff在目录上递归地工作,如果没有给出路径,它会显示所有更改。
其他回答
使用git-diff:
git diff -- yourfile
Git diff文件名
git diff <path>/filename
路径可以是完整的系统路径,直到文件或 如果您在项目中,也可以粘贴修改后的文件路径 对于路径使用的修改文件:git状态
对于某些路径,其他答案将返回一个致命形式的错误:模糊的参数。
在这些情况下,diff需要一个分隔符来区分文件名参数和提交字符串。例如,要回答问题,你需要执行:
$ git diff --cached -- <path-to-file>
这将显示修改后的文件与上次提交之间的更改。
另一方面:
git diff --cached HEAD~3 <path-to-file>
将显示本地版本与三次提交前版本之间的更改。
如果您不确定您所做的更改的文件,并希望在提交到本地分支之前了解更改,请使用git add -p,它可以帮助您在接受添加到本地分支之前验证更改。 使用这个查询
舞台这个大块头[y,n,q,a,d,/,j, j, g,e,?]? 将为您提供多个选项,如y表示分期更改,n表示不分期更改等。
Other options: q - quit; do not stage this hunk nor any of the remaining ones a - stage this hunk and all later hunks in the file d - do not stage this hunk nor 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
希望能有所帮助!!git快乐……