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

202

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

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

Alex
источник

Ответы:

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
Cascabel
источник
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иногда полезны и другие варианты, такие как .

wnoise
источник
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 ), так что вы можете много изучать варианты.
Шеш