Git Add是否有冗长的开关


104

我正在将我所有的私人公开仓库移至github。我做出的决定之一是仅使用控制台,因为如果我需要更换PC等,这意味着可以减少工具的占用。

我将是控制台应用程序的大量用户,并且是git的新手,因此决定购买Tekpub的Mastering Git系列,因为它向您展示了如何将git bash集成为工具栏。

除了add all命令是:

git add .

它似乎正在工作,但是我没有任何迹象表明它是否工作。是否有一个冗长的开关(我想这就是它的名字),它会说启动命令后跟踪了哪些文件?

我将Visual Studio 2010与git的标准安装一起使用(不是Git扩展)


(是的,这是一个老问题;我看到它是因为它刚刚被编辑。)git add --help显示了该git add命令的文档,包括该--verbose选项。
基思·汤普森

对一个老问题的新思考-我喜欢git add -Agit add .我没有抬头的差异,但发现我的首选命令更有可能添加的所有更改或新文件。
cptully

Answers:


134

对于某些 git命令,您可以指定--verbose

git 'command' --verbose

要么

git 'command' -v

确保开关在实际的git命令之后。否则-它将无法工作!

也有用:

git 'command' --dry-run 

5
git 1.7.9(cygwin)告诉我--verbose是一个未知选项
Roy Truelove 2013年

5
@RTruelove:您可能使用的git --verbose add不是git add --verbose
Bogdan D

30

我正在调试git的问题,并且需要一些非常详细的输出来找出问题所在。我最终设置了GIT_TRACE环境变量:

export GIT_TRACE=1
git add *.txt

输出:

14:06:05.508517 git.c:415               trace: built-in: git add test.txt test2.txt
14:06:05.544890 git.c:415               trace: built-in: git config --get oh-my-zsh.hide-dirty

1
答对了!非常感谢您提供这个环境变量!
亨利·里维拉

3
为了使事情变得容易,您可以像这样:GIT_TRACE=1 git add *.txt全部都在同一行。
cristianoms

6

好吧,就像(几乎)每个类Unix系统的控制台程序一样,如果命令成功执行,git不会告诉您任何信息。仅在出问题时才打印出一些东西。

但是,如果您想确定发生了什么,只需键入

git status

并查看哪些更改将要提交,哪些不提交。我建议您在每次提交之前都使用此功能,以确保您不会忘记任何内容。

由于您似乎不熟悉git,因此这里有一个免费的在线书籍的链接,向您介绍git。它非常有用,它写了基础知识以及众所周知的不同工作流程:http : //git-scm.com/book


从另一个答案中,我看到有一种方法可以告诉您正在发生的事情,但是我建议您在不使用-v参数的情况下使用它,默认行为更实用(并且键入速度更快)。
Riccardo T.

//,我之前从未听说过,如果命令成功,类似UNIX的系统的控制台程序不会告诉您任何信息。既然我已经听到了,我想它对我来说应该是显而易见的。
弥敦道(Nathan Basanese)2015年

那根本不是真的!即使命令成功执行,Git也会告诉我很多是否可以定期使用它。例如,git commit告诉我更改了多少行和文件,是否创建了新文件,或者git push告诉我有关向上游推送的进度。
LukeLR

5

您可以使用git add -i以获得的交互式版本git add,尽管这并不完全是您想要的。最简单的方法是在完成git added之后,使用git status来查看是否上演了什么。

git add .除非您是第一次提交,否则实际上不建议使用。通常最好明确列出要暂存的文件,以免意外开始跟踪不需要的文件(临时文件等)。


1
只需使用.gitconfig定义异常,无需手动跟踪。
史蒂夫·K
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.