Discuss / Git / add很重要吗?

add很重要吗?

Topic source

ZugumZug

#1 Created at ... [Delete] [Delete and Lock User]

实践了这个流程:

修改文件->add->commit->检查git diff、git diff--cached、git diff HEAD得到的结果是没差异->

第二次修改文件->add->第三次修改文件->commit->检查git diff、git diff--cached、git diff HEAD得到的结果还是没差异,所以add的作用是干嘛呢

按照你的流程试了一下,git diff、git diff HEAD都是有差异的,git diff--cached无差异

Junes_99994

#3 Created at ... [Delete] [Delete and Lock User]

    git diff # 看看工作区的变动

        记录上次add(登记)后的一切变动,一旦再次登记,则清空

        --cached 记录上一次commit(提交)后的一切add(登记)变动,一旦再次提交,则清空

        HEAD 记录和当前提交版本相比,工作区的变动,HEAD后有几个^,比较对象就回退几个版本

add 登记文件变化,commit 把登记的变化提交到仓库

add作用:

比如项目文件里在修改50个文件,其中30个文件改好了可以上传,20个还要大修。

这时候就只需add登记30个文件,将其提交到仓库,剩下20个慢慢改。

否则没有add环节,还是要区分文件是否已修改好这一状态

Junes_99994

#4 Created at ... [Delete] [Delete and Lock User]

就某个文件本身而言,文件的使用和修改分离:add登记过的文件,可以再次修改,而不影响文件的上传和使用。

Junes_99994

#5 Created at ... [Delete] [Delete and Lock User]

相当于缓存了一个稳定可用的中间版本

Junes_99994

#6 Created at ... [Delete] [Delete and Lock User]

之前说错了,只有git add 才能把文件添加到追踪名单中,否则文件处于未被追踪(untracked)状态

如果只是单纯修改了文件,没有添加新文件、删除文件的操作或需求,可以直接 git commit -am "modify" ,跳过git add步骤

Junes_99994

#7 Created at ... [Delete] [Delete and Lock User]

git add 之后的修改可以通过 git diff 查看


  • 1

Reply