使用git查看文件是否已更改的方法?

使用git查看文件是否已更改的方法?,git,git-diff,Git,Git Diff,我有一个脚本,可以检测file.txt中的更改,如果存在更改,则提交并推送它们。我想通过发布git diff来查看文件是否已更改 现在,我可以想到两个案例: 如果文件是新的,则尚未对其进行跟踪;为了成功地执行git diff-name-only-cached以查看应该推送的文件,必须将其暂存; 如果该文件不是新文件,则必须添加该文件,以便成功执行git diff-name操作,只看到该文件应被推送。 我的问题是: 如果我在一个简单的情况下遗漏了一些,我如何将上述两种情况以及可能更多的情况结合起来

我有一个脚本,可以检测file.txt中的更改,如果存在更改,则提交并推送它们。我想通过发布git diff来查看文件是否已更改

现在,我可以想到两个案例:

如果文件是新的,则尚未对其进行跟踪;为了成功地执行git diff-name-only-cached以查看应该推送的文件,必须将其暂存; 如果该文件不是新文件,则必须添加该文件,以便成功执行git diff-name操作,只看到该文件应被推送。 我的问题是:

如果我在一个简单的情况下遗漏了一些,我如何将上述两种情况以及可能更多的情况结合起来?或者,我如何区别对待文件是创建的还是新的? git add的使用方式是否安全?也就是说,如果文件被跟踪/未跟踪,则表示文件已暂存/尚未暂存,等等。 只需使用git状态。您可以使用-cerial参数获得简明的机器可读输出,您可以轻松地对其进行解析

另外,您可以始终只使用git add filename或git add。将当前目录中的所有内容转移到暂存文件。如果它们没有被修改,那么什么也不会发生,如果有更改,这些更改将被暂存。同样地,如果以前没有被跟踪过,那么它将被跟踪并在那时上演。您还可以使用git add-u只更新所有已暂存的文件,暂存任何更改,甚至文件删除。

只需使用git status即可。您可以使用-cerial参数获得简明的机器可读输出,您可以轻松地对其进行解析


另外,您可以始终只使用git add filename或git add。将当前目录中的所有内容转移到暂存文件。如果它们没有被修改,那么什么也不会发生,如果有更改,这些更改将被暂存。同样地,如果以前没有被跟踪过,那么它将被跟踪并在那时上演。您还可以使用git add-u来更新所有已暂存的文件,暂存任何更改甚至文件删除。

谢谢,这正是我想要的!谢谢,这正是我想要的!