Как связать локальный неверсионный код с удаленным репозиторием git?

Мне нужно связать чистый неверсионный код с существующим удаленным репозиторием git.

Я лучше объясню свою ситуацию. Мой проект перемещен из svn в git. У меня есть локальная рабочая копия svn со старым кодом (ничего нового для фиксации), которая должна быть синхронизирована с новым репозиторием git. Я мог бы клонировать РЕПО, Но я должен вручную восстановить многие игнорируемые файлы конфигурации, и я бы этого избежал.

поэтому я удалил все .каталоги svn, и я буду отслеживать свой код с помощью удаленный репозиторий git.

есть ли способ сделать это?

4 ответов


Я бы зафиксировал ваш рабочий каталог, чтобы убедиться, что он существует в истории перед выборкой. (убедитесь, что вы находитесь в корневой папке проектов)

git init
git add -A
git commit -m "my latest'

теперь у нас есть это

git remote add origin url-to-your-remote
git fetch origin

теперь у нас есть история с удаленным

git reset origin/master

теперь наша текущая фиксация является последней из удаленных

git add -A
git commit -m "Committed my state"

теперь мы используем наш текущий рабочий каталог в качестве снимка для следующей фиксации.

git push -u origin master

push вверх ваши изменения и отслеживать филиал.

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


Ok, Я отправляю правильный ответ на мой вопрос, основанный на Адам Dymitruk и Евгений Sajine ответы. Спасибо всем за поддержку :)

  • прежде всего, удалите все .svn каталоги в каталоге рабочей копии;
  • инициализировать новый репозиторий git в каталоге рабочей копии

    cd /path/to/my/project
    git init
    
  • добавить удаленный репозиторий git и получить его

    git remote add origin url-to-your-remote
    git fetch origin
    
  • сброс рабочая копия в удаленный репозиторий

    git reset --hard origin/master
    

в конце локальный репозиторий будет синхронизирован с удаленным репозиторием.


если вы действительно имеете в виду то, что вы говорите, то последовательность будет:

cd {your-project}
git init
git remote add {remote_name} {address}
git fetch {remote_name}

затем вы можете создать локальную ветвь из одной из ветвей, которые удаленный имеет, например:

git branch master {remote_name}/master

и затем вы можете добавить код:

git add {files}

или

git add .
git commit

обновление:

OP указывает, что код, о котором идет речь, является старым и нечего фиксировать, поэтому кажется, что вся ситуация чрезмерно усложняется без причины. OP просто должен клонировать новый репозиторий и сделать с ним. Игнорировать конфигурации следует переделать в соответствии с политиками проекта (либо .gitingore хранится в РЕПО или нет и т. д.)


будет ли работать следующее? Я попробовал это на одном из своих проектов, и это сработало.

1) клонируйте репозиторий git в место, отличное от каталога, содержащего неверсионный код.

2) скопировать .папка git из каталога, созданного в результате (1), в каталог, содержащий неверсионный код.

Это эффективно для меня, что Адам Dymitruk шагов в его ответ выше.