Каков наилучший способ «git clone» в существующую папку? - PullRequest
389 голосов
/ 21 марта 2011

У меня есть рабочая копия проекта, без каких-либо метаданных контроля версий.Теперь я хотел бы сделать эквивалент git-clone в эту папку и сохранить свои локальные изменения.

git-clone не позволяет мне клонировать в существующую папку.Какова лучшая практика здесь?

Ответы [ 12 ]

0 голосов
/ 07 февраля 2018

Обычно я сначала клонирую исходный репозиторий, а затем перемещаю все в существующей папке в исходный репозиторий.Это работает каждый раз.

Преимущество этого метода заключается в том, что вы не пропустите ничего из исходного репозитория, включая README или .gitignore.

Вы также можете использовать следующую команду для завершения шагов:

$ git clone https://github.com/your_repo.git && mv existing_folder/* your_repo
0 голосов
/ 11 июня 2014

Если вы используете хотя бы git 1.7.7 (который научил clone параметр --config), чтобы превратить текущий каталог в рабочую копию:

git clone example.com/my.git ./.git --mirror --config core.bare=false

Работает:

  • Клонирование хранилища в новую папку .git
  • --mirror превращает новый клон в папку с чисто метаданными, поскольку .git должно быть
  • --config core.bare=false отменяет неявное bare=true параметра --mirror, позволяя хранилищу иметь связанный рабочий каталог и действовать как обычный клон

Это, очевидно, не сработает, если каталог метаданных .git уже существует в каталоге, который вы хотите превратить в рабочую копию.

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