文件在“ git ls-files -s”中列出,但在每次更改时都需要“ git add”

时间:2018-10-18 08:33:26

标签: git-add git-stage

在下面,我有一个git存储库,通过运行“ git ls-files -s”,我可以看到,例如,“。gitignore”在git的暂存文件列表中。

[root@localhost snmp]# git ls-files -s
100644 10498b95150d1a473ebb8a00bdc42f33f83446fb 0       .gitignore

我也有两个分支masterdevelop

问题是,如果我在分支master中更改.gitignore文件,它说:

[root@localhost snmp]# git status
On branch master
Your branch is up to date with 'origin/master'.

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

        modified:   .gitignore

no changes added to commit (use "git add" and/or "git commit -a")

因此,在我git checkout develop之后,更改将从master传递到develop,而git并没有说Please commit your changes ...;因此分支开发中的“ .gitignore”文件将崩溃!

但是再次使用git add .gitignore

为什么我必须git add .gitignore,即使它已在暂存文件列表中?!

0 个答案:

没有答案