Разве вы не знаете, как сохранить исходные записи фиксации и перенести проекты Git?

Дополнительная история

Сохраните исходную запись фиксации и перенесите проект Git



Чтобы обеспечить непрерывную интеграцию проекта Git + Gerrit + Jenkin, мы перенесли проект с Git на Gerrit и обнаружили, что некоторые коллеги отправляли код в старом Git, поскольку Геррит выполнял синхронизацию, когда появляется новый отправка на Gerrit Обновит старый git, который очистит отправленный им код. На данный момент мне нужно объединить и отправить два похожих проекта, а затем отправить код только для нового проекта.

Шаги миграции

git clone  загрузите старый проект и поместите его в каталог проекта

образ

  • git remote add [shortname] [url]Добавьте новый URL-адрес Git в наш старый Git local

  • Здесь я назвал его git_new (как хотите)

образ

  • Используйте команду для git remote -vпросмотра ситуации на удаленном складе, параметр -v может видеть URL-адрес каждого хранилища

  • Здесь у нас есть два удаленных склада, названных  git_new,origin


образ

  • Убедитесь, что текущий склад чистый

  • Отправьте код на новый склад, git push git_new master

  • Строка  git_new относится к соответствующему адресу склада, который является псевдонимом, который мы только что взяли. Мастер представляет ветку, которую вы хотите отправить. Вы можете выбрать любой

образобраз

Мы можем сравнить, что мы успешно перешли из проекта git_test в проект git_test_new, но только главная ветвь отправлена. Чтобы протолкнуть другие ветки, просто переключите ветки и нажмите снова!

Почему только старый проект Git может отправлять код в новый проект?

Размышление: почему можно только протолкнуть код из старого в новый, а не объединить код старого проекта в новый?

  • Поскольку слияние кода старого проекта с новым проектом - это отправка нового кода для нового проекта, поэтому только текущий отправляющий пользователь может отправлять, но в истории кода есть записи отправки других людей, и Git не позволит это. Если все не изменится на одного человека

  • Если в старом проекте, порядок передачи кода в новый проект является логикой передачи существующего кода в существующий склад.

 резюме

На этот раз у нас есть более глубокое понимание следующих команд

git remote # Без параметров, перечислить существующие удаленные склады git remote -v # Вывести подробную информацию, включая имя и URL удаленного склада git remote add [короткое имя] [url] # Добавить удаленный склад

ps: git remote addПосле этого вы также можете использовать git cherry-pick commit-idдля разных складов commitконсолидации, заинтересованные друзья могут попробовать это самостоятельно, эту команду можно использовать на складе, в перекрестных ветвях, перекрестных проектах.

Секрет переноса старых проектов с сохранением истории коммитов заключается в

  1. git clone старый проект

  2. git remote добавить gerrit добавить новый проект git ссылка

  3. cd 项目名 На данный момент мы находимся в существующем коде

  4. git push gerrit masterВ настоящее время существующий код помещается в существующий проект.


Acho que você gosta

Origin blog.51cto.com/15076235/2608379
Recomendado
Clasificación