git不会对已经在索引中的文件提交更改(保留权限:不支持操作)

时间:2012-03-25 19:16:27

标签: git permissions commit

我试图将git设置为服务器上的部署解决方案,但我遇到了一些使用它的非常奇怪的行为。基本上git不会为提交添加更改。

制作一个新的回购:

~$ mkdir test && cd test
~/test$ git init-db

defaulting to local storage area
warning: templates not found /usr/share/git-core/templates/

~/test$ echo 'bar' > foo
~/test$ git add .
~/test$ git commit -a -n -m "initial"

cp: preserving permissions for `.git/next-index15907': Operation not supported
cp: preserving ACL for `.git/next-index15907': Operation not supported
Committing initial tree 85711ad01d3a371d1d4990f9e0902f8933b5c8b7

请注意,有一些错误,但提交似乎正常发生在:

~/test$ git status
nothing to commit

现在每当我尝试编辑和提交已经添加到索引中的文件时,他们就无法通过:

~/test$ echo 'baz' >> foo
~/test$ git status
# Changed but not updated:
#   (use git-update-index to mark for commit)
#
#   modified:   foo
#
nothing to commit

现在我只是添加文件并提交但是:

~/test$ git add .
~/test$ git commit -a -n -m "test"
cp: preserving permissions for `.git/next-index23386': Operation not supported
cp: preserving ACL for `.git/next-index23386': Operation not supported
# Changed but not updated:
#   (use git-update-index to mark for commit)
#
#   modified:   foo
#
nothing to commit

现在,如果添加一个新文件,它将通过提交,但任何进一步的更改都不会被提交。如果" git rm"和" git add"它将按预期工作。

请注意,我在共享主机服务器上使用git版本1.4.4.4(因此无法更新或sudo)。 我错过了git在旧版本上运行的方式还是其他的东西?

除了删除和重新添加每个提交中的所有文件之外我不知道该怎么做但我怀疑这是个好主意(回购约为~1gb)。

感谢您的帮助。

0 个答案:

没有答案