Git не обнаруживает изменений после того, как .git dir перемещен, возвращен - PullRequest
6 голосов
/ 27 июня 2011

Я случайно переместил папку .git из моего рабочего каталога перед добавлением и изменением некоторых файлов.Когда я заменил папку .git после внесения изменений, git не принял изменения (я использовал git add ., git commit -a).Я попытался воспроизвести проблему и потерпел неудачу.Есть ли способ заставить git сканировать изменения в исходном дереве или каким-либо другим способом это исправить?

Ответы [ 2 ]

1 голос
/ 10 июня 2014

Вместо того, чтобы пытаться «вставить» новую папку git в проект, вы должны:

  1. клонировать новый репо на том же компьютере.
  2. Поместите все старые файлы (все, кроме папки .git) в новую папку.
  3. это даст вам все новые измененные файлы и новые, перечисленные в 'git status'
  4. Теперь вы можете совершать и выдвигать их без каких-либо проблем.

Это ИМХО, безусловно, лучший подход для этого неуклюжего случая, в котором я оказался пару раз. Однако это не сработает, если разница между вашим репо и центральным слишком велика, заставляя вас делать мегакоммит, который иногда нежелателен.

Прошло много времени с тех пор, как вы спрашивали, надеюсь, это поможет решить проблему.

0 голосов
/ 31 марта 2012

Я, к сожалению, делаю это все время.У меня есть каталог / git-репозиторий, в который я перемещаюсь из многочисленных «релизных версий» (из другой системы VC).Когда я перемещаю .git, я могу выполнить «git status» и найти, что изменилось в новой версии.Затем я делаю 'git add -A;git commit -m 'release-xyz' 'без проблем.Я даже могу изменить ветки без проверки, используя 'git symbolic-ref HEAD ...' Когда я закончу фиксацию релиза, я перевожу .git и могу выполнить все 'git diff branch1..branch2'и другие операции.

Итак, я не вижу, что вы назвали проблемой!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...