git - 每次提交时我都必须 'git add' 一个文件吗?

标签 git version-control mercurial

我以前使用过 Mercurial,但计划在不久的将来切换到 Git。

我看过的所有解释 Git 工作原理的教程都表明,文件会在每次提交之前添加到阶段('git add'),无论它们之前是否被跟踪过。

Mercurial 也有一个以类似方式工作的命令('hg add'),但据我所知,你只需要执行一次'add'。例如,新存储库的步骤如下所示:

hg init
hg add .
hg commit "Initial commit"
hg push

此工作流是否可以通过 Git 实现?如果不能,重复“git add”的原因是什么?只是似乎没有必要。

最佳答案

git 中的两阶段过程非常强大。特别是,在编辑源代码时,您经常会同时进行几项并不直接相关的更改。

通过暂存区,您可以选择要提交的文件,从而为每个逻辑更改创建一个提交。

如果你想一次提交所有更改文件,你可以使用 git commit -a 作为快捷方式。
这会暂存所有更改和删除的文件并提交它们。
请注意:它不会自动添加未跟踪的文件。您仍然必须事先这样做。

关于git - 每次提交时我都必须 'git add' 一个文件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14940673/

相关文章:

Git 跟踪分支

linux - 在 Linux/Windows dualboot 之间共享 NTFS 分区上的 git repo

sqlite - 在 VCS 中包含 SQLite 是否有任何值(value)

php - 对 MYSQL 数据库实现版本控制的最佳方法是什么?

git - 推送导致大量对象推送的更改

Git Bash 与 cygwin 一起运行

version-control - Emacs:有没有办法从 diff 生成骨架 ChangeLog?

Mercurial:如何与非头部修订版 merge ?

svn - 在 Google 代码(或任何其他 SVN 托管)上 fork

mercurial - 如何在 Jenkins/Hudson 工作中手动触发 Mercurial 的拉动?