在Git 2.0中,git add命令的行为会发生改变吗?

当像往常一样进行git add时,会出现以下类似的消息。

$ git add .
warning: You ran 'git add' with neither '-A (--all)' or '--ignore-removal',
whose behaviour will change in Git 2.0 with respect to paths you removed.
Paths like 'app/assets/images/button/do_register.png' that are
removed from your working tree are ignored with this version of Git.

* 'git add --ignore-removal <pathspec>', which is the current default,
  ignores paths you removed from your working tree.

* 'git add --all <pathspec>' will let you also record the removals.

Run 'git status' to check the paths you removed from your working tree.

据说在 Git 2.0 中,git add 的行为会发生变化。根据man页面,

在将来的Git版本中,“git add …”将成为”git add -A …”的同义词,而”git add –ignore-removal …”将像今天的”git add …”一样,忽略已删除的文件。

据说现在默认行为的 git add –ignore-removal 将会变成 git add -all。

如果在当前版本中,已经处于git管理下的文件被实际删除,即使执行git add命令也不会将其加入到暂存区,但是未来将会被加入到暂存区。

我觉得现在的表现不错,但如果不在意的话可能会陷入困境。

此外,据说还有其他更改计划,将不再应用默认的 pathspec。

如果没有指定,则当前版本的Git会默认选择“.”;换句话说,会更新当前目录及其子目录中的所有被跟踪的文件。这个默认设置将在Git的未来版本中发生改变,因此不应使用没有指定的形式。

这里最好是现在开始培养习惯,所以建议您尽快设定好习惯。

广告
将在 10 秒后关闭
bannerAds