Git 学习小记之ADD

所谓 add ,就是 add file into staged area


新文件

add 是一个比较重要的操作,假设有一个空目录,此时里面没有任何文件。
我们新建一个文件,这个文件就是处于 untrack 状态的。
修改这个文件,依然是处于 untrack 状态。
使用 add 操作,将新文件添加到暂存区(staged),并且将文件标记为 track ,这是 add 比较清晰的两个作用。
使用 commit 操作,生成快照,同时 clean 暂存区,初始化一切。

旧文件

另外一种情况,假设已经有了旧文件,文件处于 track 状态。
此时修改文件,如果使用 status 命令查看,会提示 Changes not staged for commit,大意就是此时已经更新文件了,但是更新的内容还没有暂存起来,提示使用 add 操作进行暂存。
按照提示使用 add 操作后,使用 status 命令查看,会发现处于已暂存状态。Changes to be committed ,如果此时提交,那么该文件此时此刻的版本将被留存在历史记录中。

commit 搭配使用

如果发现不断的 addcommit 比较麻烦,可以使用 commit 命令 加-a 参数,Git 会自动更新已经跟踪过的文件,更新暂存区。
但这里有个地方需要留意,-a 参数并不会更新未跟踪的文件。

总结

关于 add ,最值得留意的就是一旦修改文件,必须重新暂存,否则生成快照( commit )的依然是上次 add 时的状态,快照只从暂存区来。
总结起来,对于新文件,add 会跟踪文件,同时将文件存入暂存区,如果是旧文件,可以按照本地文件更新暂存区的文件。
除了上面提到的,还有一种常见的情况,当文件出现冲突时,经常需要人为解决冲突,在修改之后,可以使用 add 操作将有冲突的文件标记为已经解决状态。

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

推荐阅读更多精彩内容

  • Git是目前最流行的版本管理系统,也是最先进的分布式版本控制系统(distributed version cont...
    pro648阅读 5,806评论 1 17
  • Array.prototype.slice.call(arguments)能将具有length属性的对象转成数组,...
    _孙大善阅读 259评论 0 1
  • 考完人生中的第二次高考,本只打算休息一天,就开始下一个人生路途。可是,最近是怎么了?力不从心,明明知道还有还...
    昂琪宝阅读 239评论 0 1
  • 台湾旅游最近几年很火热,是大陆小资、文艺青年最青睐的旅游目的地之一,也是我目前最想要去但还未成行的地方。 今年八月...
    筱婷阅读 688评论 8 11
  • 以前以为“好马不吃回头草”只是鼓励那些在爱情里受到伤害的人,要懂得去旧迎新,要有骨气,而今却领略到了它更深层次的涵...
    钟贝拉阅读 474评论 0 0