git - віддалене додавання походження та віддалене походження URL-адреси


412

Я створюю нове сховище:

git init
echo "# MESSAGE" >> README.md
git add README.md
git commit -m "first commit"

Тоді я хочу підштовхнути свою пустку до порожнього віддаленого сховища, створеного на github, тому мені доведеться встановити віддалений.

Чим відрізняється використання наступних команд? :

git remote add origin git@github.com:User/UserRepo.git
git remote set-url origin git@github.com:User/UserRepo.git

В кінці я виконую push:

git push -u origin master

Редагувати1:

Що станеться, коли я зателефоную на віддалений набір URL-адреси url відразу після git init? Чи створює джерело віддаленого набору URL-адрес? Якщо джерело вже існує після git init, немає різниці між використанням цих команд у моєму сценарії, правда?

Відповіді:


508

нижче використовується для додавання нового пульта:

git remote add origin git@github.com:User/UserRepo.git

нижче використовується для зміни URL-адреси існуючого віддаленого сховища:

git remote set-url origin git@github.com:User/UserRepo.git

нижче натисне ваш код на головну гілку віддаленого сховища, визначену originі -uдозволить вказати поточну локальну гілку на віддалену головну гілку:

git push -u origin master

Документація


якщо я клонуюсь з A до мого локального, а потім використовую "git remote set-url B". чи видалить сховище в A? Я намагаюсь клонувати сховище з коду AWS, присвяченого GitLab
Josh

Зазвичай, коли я заробляю нове репо, я допускаю помилку і встановлюю походження вгору. Нарешті, потрібно виправити це за допомогою 2-ої командиgit remote set-url origin git@github.com:User/UserRepo.git
Honey

-u дозвольте вказати свою поточну локальну гілку на віддалену головну гілку. Я не розумію, чому я хотів би зробити таке. Я маю на увазі скажімо, що я вийшов з майстра, створив нову функціюBranch ... здійснив зміни, а потім підштовхнув мої зміни до origin / featureBranch, а потім я об'єднав / перетягнув цю функцію в свого майстра. <- в даний момент я не закінчував свою функціюБранч? Навіщо мені це потрібно, щоб вказати на віддалену головну гілку? Чи не варто мені перевірити місцевого / майстерного, а потім витягнути з останнього походження?
Мед

Відповідь дуже хороша, за винятком пояснення -uпрапора, яке, на мою думку, є оманливим. Для пояснення -uпрапора я рекомендую подивитися цю тему stackoverflow.com/questions/18867824/…
hoang tran

та -у дозвольте вказати поточну локальну гілку на віддалену головну гілку: я не розумію цю лінію ... На що ви мали на увазі?
Дощ

62
  • Коли ви запускаєте git remote add origin git@github.com:User/UserRepo.git, то новий пульт створений з назвою origin.
  • Під час запуску git remote set-url origin git@github.com:User/UserRepo.gitgit здійснює пошук існуючого віддаленого імені originта змінює його URL-адресу віддаленого сховища. Якщо git не в змозі знайти жодного віддаленого користувача, що має ім'я origin, це призведе до помилки fatal: No such remote 'origin'.

Якщо ви збираєтеся створити новий сховище, тоді використовуйте git remote add origin git@github.com:User/UserRepo.gitдля додавання віддаленого.


Будь ласка, див. Edit1
Irbis

git initне додає жодного походження. Буде ініціалізовано лише сховище git. Якщо ви клонуєте будь-яке існуюче сховище, воно має віддалене походження. Рекомендація - це використання git add, після git initцього set-url.
Рам

@Ram Очевидно не викликати set-url після git init, оскільки це не має сенсу. set-url - це змінити, а додати - додати новий віддалений.
Сантош

61

Нижче відбудеться реініціалізація вашого місцевого репо; також очищення віддалених репостів (тобто походження):

git init

Потім нижче буде створено "походження", якщо його немає:

git remote add origin [repo-url]

Крім того, ви можете використовувати set-urlпідкоманду для редагування наявного віддаленого пристрою:

git remote set-url origin [repo-url]

Також ви можете перевірити наявні пульти

git remote -v

Сподіваюся, це допомагає!


1
git remote set-url origin ...на нещодавно init'd repo отримав мені повідомлення фатально: Немає такого віддаленого "походження". git remote add origin ...працювали.
Робб Вандавер

@RobbVandaveer Дякую за улов! Я оновив відповідь за правильне використання підкомандиset-url
vpibano

32

git remote add=> Додає новий пульт.

git remote set-url=> ОНОВЛЕННЯ наявного пульта.


  1. Віддалене ім'я, яке з'явиться після, add- це нове віддалене ім'я, яке не існувало до цієї команди.
  2. Віддалене ім'я, яке з’явиться після, set-urlвже повинно існувати як віддалене ім’я для вашого сховища.

git remote add myupstream someurl => віддаленого імені myupstream не існувало, створюючи його за допомогою цієї команди.

git remote set-url upstream someurl => віддалене ім'я вище за течією вже існує, я просто змінюю URL-адресу.


git remote add myupstream https://github.com/nodejs/node => **ADD** If you don't already have upstream
git remote set-url upstream https://github.com/nodejs/node # => **UPDATE** url for upstream

30

Щоб додати новий пульт, використовуйте git remote add командою на терміналі, в каталозі, в якому зберігається ваш сховище.

The git remote set-urlКоманда змінює існуючий віддалений URL сховища.

Отже, головне remote add- додати нове, remote set-urlце оновити існуючий


28

1. git remote add origin git@github.com:User/UserRepo.git

  • Ця команда є другим кроком у серії команд після ініціалізації git у вашому поточному робочому сховищі за допомогою git init.
  • Ця команда просто означає "ви додаєте місцезнаходження вашого віддаленого сховища, куди ви хочете натиснути / перетягнути свої файли в / з !! .."
  • Віддалене сховище може бути в будь-якому місці в github, gitlab, bitbucket тощо.
  • Ось originпсевдонім / альтернативне ім’я для вашого віддаленого сховища, так що вам не доведеться кожного разу вводити весь шлях для віддаленого сховища, і відтепер ви заявляєте, що будете використовувати це ім'я (походження) для позначення свого віддаленого сховища. Ця назва може бути будь-чим.
  • Щоб переконатися, що пульт встановлено правильно, введіть: git remote -v

    АБО git remote get-url origin

2. git remote set-url origin git@github.com:User/UserRepo.git

Ця команда означає, що якщо випадково ви вперше натиснете на неправильний сховище, ви можете "скинути віддалений шлях до сховища" , використовуючи вищевказану команду.

3. git push -u remote master

Ця команда просто підштовхує ваші файли до віддаленого сховища.Гіт має концепцію чогось, відомого як "гілка" , тому за замовчуванням все відсувається до головного гілку, якщо прямо не вказано альтернативну гілку.

Щоб дізнатися про перелік усіх відділень у вашому сховищі:git branch



7

Ви не можете зателефонувати remote set-url originодразу післяgit init , оскільки git remote set-urlкоманда не створить початкове джерело, але вона змінить існуючу віддалену URL-адресу сховища .

тож команда git remote set-urlпрацюватиме лише у тому випадку, якщо ви клонували сховище або вручну додали віддалене джерело, яке називається.

ви можете перевірити віддалений за допомогою команди, git remote -vвін буде показувати віддалений URL за назвою, або якщо ця команда дає помилку, як fatal: Not a git repository (or any of the parent directories): .gitтоді, сховище не існує, тому вам потрібно додати походження з командоюgit remote add

1. git remote add

Ця команда використовується для додавання нового пульта, цю команду можна використовувати в терміналі, в каталозі вашого сховища.

Команда git remote add включає два аргументи:

  1. Ім'я віддаленого , наприклад, походження
  2. Віддалений URL - адреса , наприклад, https://github.com/user/repo.git

Наприклад:

git remote add origin https://github.com/user/repo.git

2.git remote set-url

Команда git remote set-url змінює існуючу URL-адресу віддаленого сховища.

Команда git remote set-url приймає два аргументи:

  1. Існуюче ім'я віддалене . Наприклад, originабо upstreamце два поширених варіанти.
  2. Новий URL для пульта дистанційного керування

Наприклад, ви можете змінити URL-адресу вашого віддаленого від SSH на HTTPS за допомогою git remote set-urlкоманди.

git remote set-url origin https://github.com/USERNAME/REPOSITORY.git

Ви можете перевірити, що віддалена URL-адреса змінилась за допомогою команди git remote -v.

Примітка: "Походження" - це умовна умова, яка не є частиною команди. "origin" - локальна назва віддаленого сховища. ви можете використовувати будь-яке ім'я замість "походження".

Наприклад:

git remote add myorigin git@github.com:user/repo.git
git remote set-url myorigin https://github.com/user/repo.git

Посилання від github: віддалене додавання , віддалений набір URL-адрес


0

якщо у вас є проект та ви хочете додати URL-адресу віддаленого сховища, вам потрібно виконати наступну команду

git init

якщо ви хочете додати файл readme.md, ви можете створити його та додати за допомогою команди нижче.

git add README.md

зробіть свій перший вчинок за допомогою команди нижче

git commit -m "first commit"

Тепер ви закінчили весь процес локального сховища, тепер, як ви додаєте віддалений URL-сховище? Перевірте нижче команду: це для ssh url, ви можете змінити її на https.

git remote add origin git@github.com:user-name/repository-name.git

Як натиснути свою першу фіксацію, див. Нижче команду :

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