Я пытаюсь настроить 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 работал на старых версиях, или это что-то еще?
Я понятия не имею, что делать, кроме удаления и повторного добавления всех файлов при каждом коммите, но я сомневаюсь, что это было бы хорошей идеей (репо составляет около 1 ГБ).
Спасибо заваша помощь.