总是在 git 上提交所有文件不好吗?
Is it bad to commit all files always on git?
即 git commit -am?
我不知道这可能会对以后的合并产生任何影响。
您不希望 git
提交目标文件、可执行文件(构建的结果,即编译的二进制文件)和备份文件(例如 foo.html~
)。
所以你应该有一个 .gitignore
文件,你应该尽早设置它。
另见
一旦你有足够好的 .gitignore
使用 git commit -a -m ....
是明智的。我经常这样做。
这取决于您的工作目录中有什么。
当你只有源代码和其他受版本控制的文件时,这不会有问题。但是在许多现实世界的项目中,您在工作目录中积累了各种您不想受版本控制的工件(尤其是当它们是二进制文件时)。设置一个 .gitignore 文件来列出您不想要的任何受版本控制的文件会有所帮助。
此外,您有时会同时处理多个功能,但您是一个粗心的 git 用户,忘记了为每个功能创建一个分支。在那种情况下,您可能希望分别提交这两个功能。这意味着您创建了两个提交,您可以手动向其中添加必要的文件。
git commit -a
不提交所有文件。相反,它只提交所有已经在版本控制下并且有未暂存更改的文件(除了已经暂存的文件之外)。
-a, --all
Tell the command to automatically stage files that have been
modified and deleted, but new files you have not told Git about are
not affected.
这与 git add -A
不同,它添加了所有文件并引用了其他答案。这将添加所有未跟踪和未忽略的内容(请参阅 gitignore)。
使用 git commit -a
本身并无害处。可能会出现两个问题:
您的提交可能会变大,这会阻碍搜索回归的原因(请参阅 git bisect)。为避免这种情况,您应该查看 git commit -p
.
您可能会错过未跟踪的文件(这只能通过使用 git status
、git add
和您的大脑来避免)。
至于合并,git 根据文件中的个别更改执行合并。因此,一次提交中有多少文件并不重要。但是,进行更小的提交通常会导致每个文件的更改更少,从而使合并更容易。
即 git commit -am?
我不知道这可能会对以后的合并产生任何影响。
您不希望 git
提交目标文件、可执行文件(构建的结果,即编译的二进制文件)和备份文件(例如 foo.html~
)。
所以你应该有一个 .gitignore
文件,你应该尽早设置它。
另见
一旦你有足够好的 .gitignore
使用 git commit -a -m ....
是明智的。我经常这样做。
这取决于您的工作目录中有什么。
当你只有源代码和其他受版本控制的文件时,这不会有问题。但是在许多现实世界的项目中,您在工作目录中积累了各种您不想受版本控制的工件(尤其是当它们是二进制文件时)。设置一个 .gitignore 文件来列出您不想要的任何受版本控制的文件会有所帮助。
此外,您有时会同时处理多个功能,但您是一个粗心的 git 用户,忘记了为每个功能创建一个分支。在那种情况下,您可能希望分别提交这两个功能。这意味着您创建了两个提交,您可以手动向其中添加必要的文件。
git commit -a
不提交所有文件。相反,它只提交所有已经在版本控制下并且有未暂存更改的文件(除了已经暂存的文件之外)。
-a, --all Tell the command to automatically stage files that have been modified and deleted, but new files you have not told Git about are not affected.
这与 git add -A
不同,它添加了所有文件并引用了其他答案。这将添加所有未跟踪和未忽略的内容(请参阅 gitignore)。
使用 git commit -a
本身并无害处。可能会出现两个问题:
您的提交可能会变大,这会阻碍搜索回归的原因(请参阅 git bisect)。为避免这种情况,您应该查看
git commit -p
.您可能会错过未跟踪的文件(这只能通过使用
git status
、git add
和您的大脑来避免)。
至于合并,git 根据文件中的个别更改执行合并。因此,一次提交中有多少文件并不重要。但是,进行更小的提交通常会导致每个文件的更改更少,从而使合并更容易。