git add .和git add -u和git add -A的区别

Git Version 1.x: 

git add . :他会监控工作区的状态树,使用它会把工作时的所有变化提交到暂存区,包括文件内容修改(modified)以及新文件(new),但不包括被删除的文件。

git add -u :他仅监控已经被add的文件(即tracked file),他会将被修改或删除的文件提交到暂存区。add -u 不会提交新文件(untracked file)。(git add --update的缩写)

git add -A :是上面两个功能的合集(git add --all的缩写)


Git Version 2.x: 

在新版本中,add .和add -A的功能相同,用add --ignore-removal .来代替旧版本add .的功能。

以下是Git Version 2.x中的具体操作,用以辅助理解:

git init

echo Change>>ChangeFile

echo Delete>>DeleteFile

git add ChangeFile DeleteFile

git commit -m initial


git commit -m initial

echo OK>>ChangeFile

rm DeleteFile

echo Add>>AddFile

git status


git status

git add .

git status


git add .

git reset

git add --ignore-removal .

git status


git add --ignore-removal .

git reset

git add -u

git status


git add -u

git reset

git add -A

git status


git add -A
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Git 基础 基本原理 客户端并不是只提取最新版本的文件快照,而是把代码仓库完整的镜像下来。这样一来,任何一处协同...
    __silhouette阅读 16,040评论 5 147
  • Git 命令行学习笔记 Git 基础 基本原理 客户端并不是只提取最新版本的文件快照,而是把代码仓库完整的镜像下来...
    sunnyghx阅读 9,379评论 0 11
  • GIT分布式版本控制系统最佳实践 这篇文章来自于老男孩教育高级架构师班12期的徐亮偉同学。 首先感谢老男孩架构师班...
    meng_philip123阅读 8,884评论 4 36
  • 我又来了,今天比较烦,烦工作上的事,没有让人省心的事情。瞬间我内心的火花没压制住。现在的脑海里都是晚上事情的回放。...
    像鸟儿一样自由阅读 1,222评论 0 0
  • 有时候 不小心知道了一些事 才发现那些自己所在乎的事情 在别人眼里是那么可笑 有时候 不经意发现了一些人 才明白你...
    TWE阅读 2,732评论 0 0