git - тянет из конкретной ветки


202

Я клонировал git-репозиторий на свой dev-сервер, а затем переключился на ветку dev, но теперь я не могу выполнить git pull для обновления ветки.

Как мне обновить код на сервере?

Ответы:


261

Смотрите страницу руководства git-pull :

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

и в разделе примеров:

Слить в текущую ветку удаленную ветку следующим образом:

$ git pull origin next

Итак, я думаю, вы хотите сделать что-то вроде:

git pull origin dev

Чтобы настроить его так, чтобы он делал это по умолчанию, пока вы находитесь на ветке dev:

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

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

Отредактируйте это, чтобы отразить устаревание --set-upstream?
Скотт Скилз

Лично меня интересует поток, когда я хочу извлечь одну конкретную ветку из источника, которая еще не была извлечена, и поместить этот объект в отдельную ветку, поэтому моя текущая ветвь не сливается с тем, что я вытягиваю.
Юрий Позняк

42

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

git checkout master

Затем,

git pull origin develop

8
Это смущает. Если я хочу вытащить удаленную ветку «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. клонируйте мастер (необходимо указать имя пользователя и пароль)

       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.