Как сделать локальную ветку удаленной

Обновлено: 04.07.2024

Филиалы — это часть процесса разработки программного обеспечения и одна из самых мощных функций Git. Ветви по сути являются указателями на определенную фиксацию.

При исправлении ошибки или работе над новой функцией разработчики создают новую ветку, которую позже можно будет объединить с основной кодовой базой.

В этой статье объясняется, как создавать и перечислять локальные и удаленные ветки Git.

Список веток Git

Чтобы git branch --list список всех локальных веток Git, используйте команду git branch или git branch --list :

Текущая ветка выделяется звездочкой * . В этом примере это master ветка.

В Git локальная и удаленная ветки — это отдельные объекты. Если вы хотите отобразить как локальные, так и удаленные ветки, укажите параметр -a :

Параметр -r позволяет Git отображать только удаленные ветки.

Создание ветки Git

Создание новой ветки — это не что иное, как создание указателя на данный коммит.

Чтобы создать новую локальную ветку, используйте команду git branch за которой следует имя новой ветки. Например, чтобы создать новую ветку с именем cool-feature , вы должны ввести:

Чтобы начать работу над веткой и добавить в нее коммиты, вам нужно выбрать ветку с помощью git checkout :

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

При использовании с параметром -b команда git checkout создает указанную ветку и переключается на нее:

Отсюда вы можете использовать стандартные команды git add и git commit для добавления git commit в новую ветку.

Выводы

Мы показали вам, как составлять список и создавать локальные и удаленные ветки Git. Ветви являются ссылкой на снимок ваших изменений и имеют короткий жизненный цикл.

С помощью команды git branch вы также можете переименовывать и удалять локальные и удаленные ветки Git.

Если вы столкнулись с проблемой или хотите оставить отзыв, оставьте комментарий ниже.

Я создал локальную ветвь, которую я хочу "нажать" вверх по течению. В Qaru есть аналогичный вопрос о том, как отслеживать только что созданную удаленную ветвь.

Однако мой рабочий процесс немного отличается. Сначала. Я хочу создать локальную ветвь, и я буду только подталкивать ее вверх по потоку, когда я буду удовлетворен и хочу поделиться своей веткой.

  • Как мне это сделать? (мои поисковые запросы Google, похоже, ничего не придумали).
  • Как я могу сказать моим коллегам, чтобы вытащить его из восходящего репозитория?

ОБНОВЛЕНИЕ С Git 2.0 есть более простой ответ, который я написал ниже: qaru.site/info/296/.

ОТВЕТЫ

Ответ 1

Решение Simple Git 2. 0+:

Начиная с Git 2.0, поведение стало проще:

Вы можете настроить git с push.default = current чтобы упростить жизнь:

Я добавил это, так что теперь я могу просто нажать новую ветку вверх по течению с

-u будет отслеживать удаленную ветвь с тем же именем. Теперь с этой конфигурацией вы будете автоматически угадывать удаленную ссылку на git push. Из документации git.config:

push.default

Определяет действие, которое должен выполнить git push, если явно не указан refspec.

push.default = current - нажать текущую ветку, чтобы обновить ветку с тем же именем на принимающей стороне. Работает как в центральном, так и не центральном рабочих процессах.

Для меня это хорошее упрощение моего повседневного рабочего процесса в Git. Параметр конфигурации учитывает "обычный" вариант использования, когда вы добавляете ветку локально и хотите создать ее удаленно. Кроме того, я могу так же легко создавать локальные ветки с удаленных компьютеров, просто используя git co remote_branch_name (в отличие от использования --set-upstream-to flag).

Я знаю этот вопрос, и принятые ответы довольно старые, но поведение изменилось, так что теперь существуют опции конфигурации, чтобы упростить ваш рабочий процесс.

Чтобы добавить к вашей глобальной конфигурации Git, запустите это в командной строке:

Ответ 2

Сначала вы создаете свою ветвь локально:

Удаленная ветка автоматически создается, когда вы нажимаете ее на удаленный сервер. Поэтому, когда вы чувствуете готовность к этому, вы можете просто сделать:

Где обычно origin , имя, которое git предоставляет удалённому вами клону. Тогда ваши коллеги просто потянули бы эту ветвь, и она автоматически создавалась локально.

Обратите внимание, что формально формат:

Но когда вы опускаете один, он предполагает, что оба имени ветки одинаковы. Сказав это, как слово осторожность, не делайте критической ошибки при указании только : (с двоеточием), или удаленная ветвь будет удалена!

Чтобы последующий git pull знал, что делать, вы можете вместо этого использовать:

Как описано ниже, опция --set-upstream устанавливает ветвь вверх по течению:

Для каждой ветки, актуальной или успешно нажали, добавили вверх по течению (отслеживание), используемая аргумент-меньше git -pull (1) и другие команды.

Ответ 3

Сначала вы должны создать локальную ветвь

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

Друзья могут достигать вашей ветки, делая:

Вы можете продолжить работу в ветке и нажимать, когда захотите, без передачи аргументов на git push (без аргументов git push нажимает мастер на удаленный мастер, your_branch local на remote your_branch и т.д.)

Друзья могут нажать на вашу ветку, совершая коммиты, а затем явно нажимать

Или отслеживать ветвь, чтобы избежать аргументов git push

Ответ 4

Как указано в предыдущих ответах,

достаточно для нажатия локальной ветки.

Ваши коллеги, могут вывести все удаленные ветки (в том числе новые) с помощью этой команды:

Затем, чтобы внести изменения в ветвь, обычный поток:

Ответ 5

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

Зафиксируйте любые изменения, как обычно. Затем нажмите его вверх по течению:

Это ярлык для перехода текущей ветки к ветки с тем же именем на origin и отслеживать ее, чтобы вам не нужно было указывать origin HEAD в будущем.

Ответ 6

Если вы хотите создать ветку из текущей ветки

Вы хотите ветку из удаленной ветки, вы можете попробовать

Если вы закончили с изменениями, вы можете добавить файл.

Затем сделайте коммит локально

Когда вы хотите подтолкнуть к удаленному репо

Все вместе будет

или Если вы хотите создать ветку из удаленной ветки, скажем, разработка

git checkout -b bug_fixes происхождение/разработка

Вы можете нажать на ветку для удаленного репо

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

git pull origin master .

Ответ 7

Если вы хотите просто создать удаленную ветку без локальной, вы можете сделать это следующим образом:

Он толкает все, что есть у вашего HEAD, чтобы отключить foo, которого не было на пульте дистанционного управления.

Ответ 8

Самое простое решение. Drumm Roll. git version 2.10.1 (Apple Git-78)

NB. Ветвь, которую вы только что создали в локальной среде, и удаленная несуществующая ветвь, в которую вы пытаетесь перейти, должны иметь одно и то же имя.

Ответ 9

Сначала вы создаете ветвь локально:

И затем, чтобы создать ветвь удаленно:

Примечание. Это работает с версиями git:

Ответ 10

Создайте ветку на локальной машине и включите эту ветвь:

Нажмите ветвь на github:

Если вы хотите что-то зафиксировать в своем филиале, убедитесь, что находитесь в своей ветке.

Вы можете увидеть все ветки, созданные с помощью:

Что будет показано:

Добавьте новый пульт для вашей ветки:

Нажимайте изменения от вашего фиксации в своей ветке:

Обновите ветку, когда исходная ветка из официального репозитория обновлена:

Затем вам необходимо применить для слияния изменений, если ваша ветка создана из разработки, вам нужно сделать:

Удалите ветку в локальной файловой системе:

Чтобы принудительно удалить локальную ветвь в вашей файловой системе:

Удалите ветвь на github:

Ответ 11

Создание локальной ветки из существующей ветки (может быть master/develop/any-other-branch).

Нажмите эту кнопку на пульте дистанционного управления

git push -u имя_данных local_branch_name: remote_branch_name

  • -u: устанавливает ветвь восходящего потока
  • имя_даля: git устанавливает имя по умолчанию как "источник" при создании репозитория. Однако это может быть изменено на другое произвольное имя.
  • local_branch_name: имя локальной ветки, которая будет нажата.
  • remote_branch_name: имя удаленной ветки, которую мы хотим создать на удаленном компьютере.

Если мы удалим локальные и удаленные имена ветвей, он будет иметь формат

git push -u имя_данных имя_памяти

Это приведет к удалению локальной ветки и с тем же именем, что и имя ветки branch. Локальная ветка также будет отслеживать удалённую ветку.

Ответ 12

Я знаю, что этот вопрос хорошо ответил, но просто хотел перечислить шаги, которые я предпринимаю, чтобы создать новую ветку "myNewBranch" и нажать на удаленный ( "происхождение" в моем случае) и настроить отслеживание. Рассмотрим эту версию "TL; DR":)

Ответ 13

Теперь с git вы можете просто ввести, когда вы находитесь в правильной ветке

git push --set-upstream origin >

и git создайте для вас ветку происхождения.

Ответ 14

Просто хотел добавить, что while:

Создает новую ветку, она также проверяет, что ветка/делает ее текущей ветвью. Если по какой-то причине все, что вы хотите сделать, это отключить ветвь, но не сделать ее текущей ветвью, тогда вы будете использовать следующую команду:

В первой команде "checkout" делает указанную ветвь вашей текущей ветвью, а "-b" означает: эта ветка еще не существует, поэтому сделайте это для меня.

Ответ 15

Как сделать через Дерево источников

Ответ 16

git push -u
не работает, если вновь созданная ветвь не порождена из того же репо, т.е. если вы не создали новую ветку с помощью git checkout -b new_branch тогда это не сработает.

Эта ссылка помогла мне перенести мою локальную ветку (клонировано из другого репо) в мое удаленное репо:

Ответ 17

Вот как вы делаете это в eclipse через Egit.

1) Перейдите в представление "Git Repository Exploring" и объясните проект git, в который вы хотите создать ветвь. В разделе Brances → Local.. выберите ветку, для которой вы хотите создать ветку (в моем случае я выбрал master.. вы можете выбрать другую другую ветку, если хотите).. затем щелкните правой кнопкой мыши и выберите опцию Create Branch. и выберите опцию checkout this project, а затем нажмите кнопку завершения.

2) Теперь из проекта explorer выберите проект.. щелкните правой кнопкой мыши команду Team → Push Branch.

Будет создана новая удаленная ветвь. Вы можете указать имя ветки своим коллегам, чтобы они могли его вытащить.

Ответ 18

Я использую это, и это очень удобно:

Вам даже не нужен статус git; может быть, я просто хочу убедиться, что все идет хорошо.

Вы можете иметь ОБА ЛОКАЛЬНУЮ и УДАЛЕННУЮ ветвь с помощью одной команды.

Ответ 19

Вы можете сделать это за 2 шага:

1. Используйте checkout для создания локальной ветки:

Есть несколько способов сделать это, но я думаю, что этот способ действительно прост.

Favorite

Добавить в избранное

Как создать и перечислить локальные и удаленные ветки Git

В етви являются частью процесса разработки программного обеспечения и одной из самых мощных функций в Git. Ветви по сути являются указателями на определенный коммит.

При исправлении ошибки или работе над новой функцией разработчики создают новую ветвь, которую позже можно объединить с основной базой кода.

В этой статье объясняется, как создавать и перечислять локальные и удаленные ветви Git.

Список веток Git

Чтобы вывести список всех локальных веток Git, используйте команду git branch или git branch –list:

Текущая ветка выделена звездочкой *. В этом примере это ветвь master.

В Git локальные и удаленные ветви являются отдельными объектами. Если вы хотите перечислить как локальные, так и удаленные ветви, передайте опцию -a:

Вариант -r будет список только удаленных филиалов.

Создать Git Branch

Создание новой ветви – это не что иное, как создание указателя на данный коммит.

Чтобы создать новую локальную ветвь, используйте команду git branch с именем новой ветки. Например, чтобы создать новую ветвь с именем cool-feature, вы должны набрать:

Чтобы начать работу над веткой и добавить к ней коммиты, вам нужно выбрать ветку, используя git checkout:

Вывод проинформирует вас о том, что ветка переключена:

Вместо того чтобы создавать ветку и затем переключаться на нее, вы можете сделать это одной командой. При использовании с опцией -b команда git checkout создаст данную ветку.

Отсюда вы можете использовать стандартные команды git add и git commit для новых коммитов в новую ветку.

Чтобы вставить новую ветку в удаленный репозиторий, используйте команду git push, за которой следуют имя удаленного репо и имя ветки:

Заключение

В этой статье мы показали, как составлять список и создавать локальные и удаленные ветви Git. Ветви являются ссылкой на снимок ваших изменений и имеют короткий жизненный цикл.

С помощью команды git branch вы также можете переименовывать и удалять локальные и удаленные ветки Git.

Если вы столкнулись с проблемой или у вас есть отзыв, оставьте комментарий ниже.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Учебник по Git изучение ветвления Git за 5 минут

Изучение

Git — одна из наиболее широко используемых систем контроля версий и важный инструмент, который должен знать каждый разработчик. Одно из самых больших преимуществ Git — его возможности ветвления. Ветвление Git — это фундаментальный аспект рабочего процесса управления версиями. Сегодня мы обсудим, как создавать, удалять, объединять и перемещать ветки Git. После этого мы рассмотрим следующие шаги, которые вы можете предпринять, чтобы расширить свои знания Git.

Что такое разветвление?

Вот здесь и появляются ветки Git. Ветвление — это основная концепция системы управления версиями, которая позволяет вам разделять вашу работу по разным ветвям, чтобы вы могли свободно работать с исходным кодом, не затрагивая чью-либо работу или фактический код в основной ветви.

С Git вы начинаете с единственной основной ветки, называемой main. Любая другая фиксация, которую вы сделаете после этого, будет сделана в основной ветке, но Git позволяет вам создавать столько веток, сколько вы хотите.

Примечание: вам не всегда нужно создавать ветки из основной ветки. Вы можете создать новую ветку из любой другой ветки.

В ваших отдельных ветвях вы можете экспериментировать и тестировать, не затрагивая напрямую исходный код. Ветвление позволяет вам и вашей команде переключаться между контекстами, не беспокоясь о влиянии на разные ветки. Это отличный инструмент для команд, потому что он делает совместную работу более простой, удобной и гибкой.

Примечание: ветки Git отличаются от веток SVN. Ветви Git полезны в повседневном рабочем процессе, тогда как ветки SVN используются в крупномасштабных разработках.

Создание веток

Если у вас уже есть локальный филиал, вы можете использовать git checkout:

Если у вас еще нет нужной ветки, вы можете создать новую ветку следующим образом:

Теперь, когда мы знаем, как создать новую локальную ветку, давайте посмотрим, как создать удаленную ветку.

Создание удаленных веток

Если вы хотите переместить локальную ветку в удаленное репо, вы можете использовать git push:

Удаление веток

Теперь, когда мы знаем, как создать локальную ветку и удаленную ветку, давайте узнаем, как их удалить. Начнем с удаления локальной ветки с помощью -dфлага:

Иногда Git отказывается удалить вашу локальную ветку. Это происходит, когда в вашей ветке есть коммиты, которые не были объединены с другими ветвями или отправлены в удаленные репозитории. Этот отказ призван защитить вас от случайной потери ваших данных.

Если вы уверены, что хотите удалить свою ветку, вы можете использовать -Dфлаг. Этот флаг принудительно удаляет.

Удаление удаленных веток

Чтобы удалить удаленную ветку, вы используете git pushкоманду:

Объединение веток

Git merge — важная функция ветвления. Слияние позволяет объединить две или более веток через фиксацию. Изменяется только целевая ветка. В нашем случае это будет основная ветка. История вашей функциональной ветки сохраняется.

Давайте вернемся к функции, над которой вы работали со своей командой. Вся ваша команда имеет доступ к основной ветке, которую вы загрузили в удаленный репозиторий. Вы работаете над небольшим исправлением этой функции и не хотите, чтобы ваша работа влияла на основную ветку.

Вы можете создать свою собственную ветку, чтобы поэкспериментировать и протестировать свои изменения. После завершения и тестирования вы можете объединить эту ветку с основной, чтобы она была доступна всем.

В нашем сценарии предположим, что вы хотите объединить свою экспериментальную ветвь, называемую myfeature, с основной веткой. Перед слиянием вам следует выполнить a, git fetchчтобы собрать актуальную информацию об удаленном репозитории.

Затем перейдите в ветку, в которую вы хотите объединить изменения, и выполните их git checkout.

Читайте также: