Налаштування git віддаленого походження


180

У мене є такі репости.

  1. DEV REPO: у каталозі на моїй розроблювальній машині, де я вношу зміни
  2. ОСНОВНЕ РЕПО: голий репозиторій на моїй розроблювальній машині, до якого я натискаю зміни від depo repo
  3. ВИРОБНИЦТВО REPO: сховище на хост-машині для витягнення оновлень з основного репо

Раніше я git remote add origin /Users/me/sites/main_repoвстановлював ОСНОВНЕ РЕПО як джерело для РЕПО РЕПО. РЕПО ВИРОБНИЦТВО знаходиться на віддаленому хості. Чи можу я використовувати варіант тієї самої команди, щоб встановити ГОЛОВНЕ репо як джерело для РЕПОЗИЦІЇ ВИРОБНИЦТВА? Якщо "так", то, гадаю, синтаксис міститиме ip-адресу. Як би це виглядало?


Ви не мали на увазі "встановити репортаж ПРОИЗВОДЖЕННЯ як джерело для ОСНОВНОГО РЕПО"?
Педро А

Відповіді:


289

Використання SSH

git remote add origin ssh://login@IP/path/to/repository

Використання HTTP

git remote add origin http://IP/path/to/repository

Однак простий git pullпроцес розгортання зазвичай є поганою ідеєю, і його слід уникати на користь справжнього сценарію розгортання.


6
Чому це дійсно погана ідея? Зараз виконуються певні пошуки прикладів сценаріїв розгортання.
Jay

14
Тому що розгортання часто означає (читати "завжди") більше, ніж просто те, що git pullробити. Можливо, вам знадобиться налаштувати облікові дані виробничих БД, очистити кеш, збільшити номер версії, створити резервну копію старої версії, щоб ви могли скотитися назад, якщо все піде не так, оптимізуйте / мінімізуйте свої активи (наприклад, CSS та Js) та базові мільйони речі.
Климент Герреман

33
@ClementHerreman - схоже, виходячи з вашого пояснення, використання git pull - це не стільки «погана ідея», скільки обмежене рішення. Іноді я вважаю, що git pull є ідеально ефективним, простим рішенням розгортання, коли у мене простий сценарій.
Брейді Холт

4
Я думаю, вам потрібно вказати ssh: // для шляху ssh, тобто, git remote add origin ssh: // login @ IP / path / to / repository
kakyo

4
Я думаю, якби ми змінили остаточне твердження на «іноді погана ідея», не сміливий це буде відмінною відповіддю.
Кріс Москіні

104

Для всіх, хто приходить сюди, як і я, шукаючи синтаксис для зміни походження на інше місце, цю документацію можна знайти тут: https://help.github.com/articles/changing-a-remote-s-url/ . Якщо git remote addце зробити, це призведе до "фатального: віддалене походження вже існує".

Гайка: git remote set-url origin https://github.com/username/repo

(Позначена відповідь правильна, я просто сподіваюся допомогти комусь, як загубився, як і я ... ха-ха)


2
Ця відповідь краще для людей, які хочуть змінити "git remote url", якщо вона вже існує. Спасибо @lostphilosopher
eonist

17

Ви можете включити гілку для відстеження під час налаштування віддалених пристроїв, щоб вони працювали як слід:

git remote add --track master origin user@somesite.com:group/project.git   # git
git remote add --track master origin user@172.16.1.100:group/project.git   # git w/IP
git remote add --track master origin http://github.com/group/project.git   # http
git remote add --track master origin http://172.16.1.100/group/project.git # http w/IP
git remote add --track master origin /Volumes/Git/group/project/           # local
git remote add --track master origin G:/group/project/                     # local, Win

Це не дозволяє вам вручну редагувати git config або вказувати відстеження гілок вручну.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.