Как синхронизировать новые локальные файлы репозитория GIT без клонирования git - PullRequest
0 голосов
/ 13 марта 2019

Ситуация такая; у нас есть сервер разработки с нашим проектом. У меня есть тот же проект на местном уровне. Для этого проекта пока нет репозитория. Файлы равны, или так мы надеемся. Я git init сервер файлы с использованием SSH, git remote add, git add . файлы, git commit -m и git push -u origin master. Снова, на сервере .

Теперь я не хочу клонировать весь этот репозиторий, потому что у меня уже есть файлы локально. Есть ли чистый способ, которым я могу как-то git init в своих локальных файлах, чтобы мне не пришлось git clone весь проект, И есть ли способ красиво обработать любые возможные различия в локальных файлах по сравнению с теперь отправленным сервером файлы.

Попытки, таким образом, заставляют git не понимать, что локальные файлы совпадают с файлами сервера (в репо сейчас), и говорят, что все файлы перезаписаны.

Любая помощь приветствуется.

1 Ответ

0 голосов
/ 13 марта 2019

В этом ответе обсуждается очень похожий вариант использования.

Основная идея - скопировать только папку .git в корневую папку существующего проекта.

Следующий пример, взятый непосредственно из связанного ответа, работает с git reset --hard HEAD.Если вы хотите попробовать и использовать локальные изменения, попробуйте использовать git reset HEAD раньше.

existing-dir - это ваш локальный каталог, соответствующий файлам в хранилище repo-to-clone.

# Clone just the repository's .git folder (excluding files as they are already in
# `existing-dir`) into an empty temporary directory
git clone --no-checkout repo-to-clone existing-dir/existing-dir.tmp # might > want --no-hardlinks for cloning local repo


# Move the .git folder to the directory with the files.
# This makes `existing-dir` a git repo.
mv existing-dir/existing-dir.tmp/.git existing-dir/

# Delete the temporary directory
rmdir existing-dir/existing-dir.tmp
cd existing-dir

# git thinks all files are deleted, this reverts the state of the repo to HEAD.
# WARNING: any local changes to the files will be lost.
git reset --hard HEAD
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...