Tag: git stage

Git:只列出“untracked”文件(也是自定义命令)

有没有办法使用像git ls-files这样的命令只显示未跟踪的文件? 我问的原因是因为我使用以下命令来处理所有删除的文件: git ls-files -d | xargs git rm 我想为未跟踪的文件类似的东西: git some-command –some-options | xargs git add 我能find-o选项来git ls-files ,但这不是我想要的,因为它也显示被忽略的文件。 我也能够拿出以下冗长难看的命令: git status –porcelain | grep '^??' | cut -c4- | xargs git add 似乎有一个更好的命令,我可以在这里使用。 如果没有,我该如何创build自定义的git命令?

暂存已删除的文件

假设我在git仓库中有一个名为foo的文件。 假设它已经被rm (不是git rm )删除了。 然后git状态将显示: Changes not staged for commit: deleted: foo 我该如何处理这个单独的文件删除? 如果我尝试: git add foo 它说: 'foo' did not match any files.

在临时区域显示git diff文件

可能重复: 我如何显示已经上演的变化? 有没有办法看到我做完git add file后对file所做的更改? 那就是,当我这样做的时候: git add file git diff file 没有显示差异。 我想有一种方法可以查看自上次提交以来的差异,但我不知道这是什么。

我如何显示已经上演的变化?

我提出了一些改变, 我怎么能看到下一个提交的所有文件的差异? 我知道git的状态 ,但我想看看实际的差异 – 不仅仅是上演的文件的名字。 我看到了git-diff(1)手册页说 git diff [–options] [ – ] […] 这种forms是查看你所做的相对于索引的变化(下一次提交的登台区域)。 换句话说,差异是你可以告诉git进一步添加到索引,但你还没有。 你可以通过使用git-add(1)来完成这些更改。 不幸的是,我不太明白这一点。 必须有一些方便的一行,我可以创build一个别名,对吗?

如何在提交之前撤销“git add”?

我错误地使用以下命令添加文件: git add myfile.txt 我还没有运行git commit 。 有没有办法撤消这个,所以这些文件不会被包含在提交?