git-add[-all|-A]和git-add.之间有什么区别。?
当前回答
一个更精炼的快速答案:
两者都在下面(与git add--all相同)
git add -A
暂存新的+修改的文件
git add .
阶段已修改+已删除文件
git add -u
其他回答
此答案仅适用于Git 1.x版本。有关Git 2.x版本,请参阅其他答案。
摘要:
gitadd-A阶段所有更改git添加。暂存新文件和修改,而不删除(在当前目录及其子目录上)。gitadd-u阶段修改和删除,无需新文件
详细信息:
git-add-A相当于git-add。;git-add-u。
关于gitadd的要点。它查看工作树,并将所有这些路径添加到已阶段的更改中,如果这些更改已更改或是新的且未被忽略,则不会阶段任何“rm”操作。
gitadd-u查看所有已跟踪的文件,如果这些文件不同或已被删除,则对这些文件进行更改。它不添加任何新文件,只对已跟踪的文件进行更改。
gitadd-A是实现这两个目的的便捷快捷方式。
您可以使用以下方式测试差异(注意,对于Git 2.x版本,您的Git-add.Git状态输出将不同):
git init
echo Change me > change-me
echo Delete me > delete-me
git add change-me delete-me
git commit -m initial
echo OK >> change-me
rm delete-me
echo Add me > add-me
git status
# Changed but not updated:
# modified: change-me
# deleted: delete-me
# Untracked files:
# add-me
git add .
git status
# Changes to be committed:
# new file: add-me
# modified: change-me
# Changed but not updated:
# deleted: delete-me
git reset
git add -u
git status
# Changes to be committed:
# modified: change-me
# deleted: delete-me
# Untracked files:
# add-me
git reset
git add -A
git status
# Changes to be committed:
# new file: add-me
# modified: change-me
# deleted: delete-me
两个git add。gitadd-A将在更新版本的git中暂存所有新的、修改的和删除的文件。
不同之处在于,git add-A将文件存放在属于您工作的git存储库的“更高、当前和子目录”中。但做一个git加法。仅暂存当前目录及其后的子目录中的文件(而不是位于外部的文件,即更高的目录)。
下面是一个示例:
/my-repo
.git/
subfolder/
nested-file.txt
rootfile.txt
如果您当前的工作目录是/my repo,并且您执行rm rootfile.txt,然后是cd子文件夹,然后是git add。,则它将不暂存已删除的文件。但是,无论您从何处执行命令,执行git add-A肯定会进行此更改。
一个更精炼的快速答案:
两者都在下面(与git add--all相同)
git add -A
暂存新的+修改的文件
git add .
阶段已修改+已删除文件
git add -u
在Git 2.x中:
如果您直接位于工作目录,那么gitadd-A和gitadd。工作没有区别。如果您在工作目录的任何子目录中,gitadd-A将添加整个工作目录中的所有文件,gitadd。将从当前目录中添加文件。
仅此而已。
git添加。等于git add-A。仅将当前文件夹和子文件夹中的文件添加到索引中。
gitadd-A将工作树中所有文件夹的文件添加到索引中。
注:有关Git 2.0的信息(2014-05-28)。
推荐文章
- Bower: ENOGIT Git未安装或不在PATH中
- Bitbucket上的Git:总是要求密码,即使上传了我的公共SSH密钥
- Git别名-多个命令和参数
- 如何添加一个“打开git-bash这里…”上下文菜单到windows资源管理器?
- 是否可以在Git中只提取一个文件?
- 当我做“git diff”的时候,我怎么能得到一个并排的diff ?
- 在git中如何将提交移动到暂存区?
- 如何缩小。git文件夹
- 如何在本地删除分支?
- 找到包含特定提交的合并提交
- Windows上Git文件的权限
- 如何从一个枝头摘到另一个枝头
- 如何获得在两次Git提交之间更改的所有文件的列表?
- 什么是跟踪分支?
- 如何在不稳定的连接上完成一个大项目的git克隆?