git - тягне з конкретної гілки


202

Я клонував сховище git до свого сервера розробників, а потім перейшов до відділення dev, але тепер я не можу зробити git pull для оновлення гілки.

Як оновити код на сервері?

Відповіді:


261

Дивіться сторінку " git-pull man" :

git pull [options] [<repository> [<refspec>...]]

і в розділі прикладів:

Об'єднайте віддалену гілку в поточну гілку наступним чином:

$ git pull origin next

Тож я думаю, ти хочеш зробити щось на кшталт:

git pull origin dev

Щоб налаштувати його так, щоб він робив це за замовчуванням, поки ви перебуваєте на гілці розробників:

git branch --set-upstream-to dev origin/dev

6
" --set-upstreamпрапор застарілий і буде видалений. Розгляньте можливість використання --trackабо --set-upstream-to Branch devналаштування для відстеження віддалених розробників відділення від походження." Напр. git branch --set-upstream-to origin/dev
Nagendra Рао

Відредагувати це, щоб відобразити застарілість -set-upstream?
Скотт Скілз

Особисто мене цікавить потік, коли я хочу витягнути одну конкретну гілку з походження, яка ще не отримана, і поставити цей об’єкт на окрему гілку, тому моя поточна гілка не злита з тим, що я тягну.
Юрій Позняк

42

Ось що вам потрібно зробити. Спочатку переконайтеся, що ви знаходитесь у відділенні, яке не хочете тягнути. Наприклад, якщо у вас є майстер і ви розвинете галузь, і ви намагаєтеся витягнути розвинути гілку, то залишайтеся в головній галузі.

git checkout master

Тоді,

git pull origin develop

7
Це заплутано. Якщо я хочу перетягнути віддалену гілку "dev" у місцеву гілку "dev", я думаю, що вам потрібно залишитися у місцевій гілці "dev", а не в будь-якій іншій гілці.
Роман

2
Чи не отримує це віддалене відділення, а потім зливає його з місцевим господарем?
Бред П.

2
Я робив git checkout developі git pull origin developдобре працював. Якщо ви хочете видалити місцеву або віддалену гілку ( git branch -d developабо git push origin --delete develop), вам потрібно буде оформити іншу гілку
ChesuCR

1
дуже заплутано. Я просто
з’єднав

Як каже @roman, потрібно бути в місцевій філії.
woter324

15

Часто зрозуміліше розділити дві дії git pull. Перше, що потрібно зробити - оновити локальну гілку відстеження, що відповідає віддаленій гілці. Це можна зробити за допомогою git fetch. Друга полягає в тому, що вона потім зливається в змінах, що, звичайно, можна зробити git merge, хоча інші варіанти, такі як git rebaseіноді корисні.


7

Приклад документації Laravel:

git pull https://github.com/laravel/docs.git 5.8

виходячи з формату команди:

git pull origin <branch>

👍


5

Ось такі кроки для виведення конкретної чи будь-якої гілки,

1.clone master (потрібно вказати ім’я користувача та пароль)

       git clone <url>

2. вищевказана команда буде клонувати сховище, і ви зараз будете головним відділенням

       git checkout <branch which is present in the remote repository(origin)>

3. Вищенаведена команда підпишеться на гілку, яку ви хочете витягнути, і буде встановлена ​​для автоматичного відстеження цієї гілки

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

       git pull origin <branch>

1

Ви можете взяти оновлення / тягнути на гітці git, яку ви можете використовувати нижче

git pull origin <branch-name>

Вищевказана команда потребує оновлення / виведення з назви гілки

Якщо ви хочете витягнути з іншої гілки, вам потрібно перейти до цієї гілки.

git checkout master

Чому

git pull origin development

Сподіваюсь, що вам вдасться


1

якщо ви хочете витягнути з певної гілки, все, що вам потрібно зробити - це

git pull 'remote_name' 'branch_name'

ПРИМІТКА. Спершу переконайтеся, що ви ввели свій код.


0

git-pull - витягнути з та інтегруватись з іншим сховищем чи локальною гілкою

git pull [options] [<repository> [<refspec>...]]

Ви можете посилатися на офіційний git doc https://git-scm.com/docs/git-pull

Наприклад:

git pull origin dev


Чим ваша відповідь відрізняється від будь-яких інших, які вже були опубліковані?
j08691

Так, нічого особливого немає - це офіційні документи ( git-scm.com/docs/git-pull ), тому ви можете вивчити багато варіантів.
сеша
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.