我在使用Vagrant之前从未见过这个问题,所以我希望这对某人有意义。我有一个包含git存储库的文件夹,它与运行CentOS 6.5的Vagrant机器同步,并看到与Git的一些不一致。
在我的主机(Mac OSX)上,如果我运行git status
,我会得到以下内容:
~/Folder/repo$ git status
On branch master
Your branch is up-to-date with 'origin/master'.
nothing to commit, working directory clean
但如果我在我的流浪盒中运行相同的命令,我会得到以下结果:
vagrant@localhost ~/repo$ git status master
# On branch master
# Changed but not updated:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: .codeclimate.yml
# modified: .gitattributes
# modified: .gitignore
# modified: CONTRIBUTING.md
# modified: app/commands/.gitkeep
# modified: app/commands/CreateModule.php
# modified: app/commands/FbAdRevenue.php
....
然后列表继续,基本上git本地似乎认为每个文件都被修改而没有提交,这是不正确的。知道为什么会这样,以及如何解决它?
答案 0 :(得分:5)
根据运行diff
后的信息,看起来服务器上的文件权限已更改。
使用以下命令忽略权限
git config core.filemode false
How do I remove files saying "old mode 100755 new mode 100644" from unstaged changes in Git?