Как переименовать корневую папку git? - PullRequest
80 голосов
/ 26 августа 2011

Я только начал использовать git в Vista, с моим хранилищем под /path/to/project/git repo.

Я обнаружил, что пробел в имени папки вызывает небольшое раздражение при работе в git bash.

Можно ли просто переименовать папку в /path/to/project/gitrepo? Все в пределах git config относительно, или есть что-то, что явно относится к родительской папке?

Я попытался просто взять копию основной папки в Windows и запустить на ней git bash, а 'git log' показывает изменения, которые я сделал ранее. Поэтому я предполагаю, что переименование основной папки в порядке, но я хотел бы быть уверен, прежде чем идти дальше.

Ответы [ 4 ]

81 голосов
/ 26 августа 2011

Да, можно переименовать папку, содержащую Git-репозиторий. Все пути внутри репозитория Git являются относительными.

51 голосов
/ 26 августа 2011

Чтобы немного изменить Грег * ответ , да, все с git-репо относится к родительскому каталогу .git, но:

(иэто, вероятно, не повлияет на вас напрямую, я приведу здесь только некоторые причины для полноты картины.):

  • на путь самого репо могут ссылаться другие службы, работающие на вашем компьютере (Apache,ssh, другое хранилище, объявляющее ваше хранилище удаленным, используя полный путь к файлу, слой gitolite , объявляющий ваши хранилища по определенному пути, ...)
  • некоторые операции используют полный путьрепо (например, GIT_INDEX_FILE с использованием команды filter-branch, см. this thread ), поэтому, очевидно, не переименовывайте корневой каталог при выполнении сложной операции в репо.

Кроме того, «копия Windows» (вместо git clone) будет копировать все, включая хуки, которые могут включать абсолютный путь в их сценарии, если вы их отредактировали и внесли подобные изменения..

4 голосов
/ 18 июня 2014

Пожалуйста, сначала проверьте комментарии ...

На мой взгляд, лучше всего использовать рабочий процесс git , особенно когда вы используете сервер git (удаленный главный репозиторий), что означает:

  • синхронизация старого каталога с вашим git-сервером (git pull, git push и, наконец, git status, чтобы проверить, все ли в порядке)
  • git clone <former directory> <new directory>

(Поскольку я также новичок в GIT, это может быть не полный, правильный ответ. У меня был тот же вопрос, что и у Мика, и для целей обучения япопытался сделать это мерзким способом :) Спасибо за подсказку, vonC!Пожалуйста, поправьте меня, если необходимо:)

0 голосов
/ 10 июня 2019

да, вы можете изменить это.ваш репозиторий все еще направлен на ваш git .. только не удаляйте / редактируйте имя .git fo

...