Как создать удаленную ветку Git? - PullRequest
2923 голосов
/ 05 октября 2009

Я создал локальную ветвь, которую я хочу «протолкнуть» вверх по течению. Здесь, на Stack Overflow, есть похожий вопрос о том, как отслеживать недавно созданную удаленную ветку.

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

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

ОБНОВЛЕНИЕ С Git 2.0 есть более простой ответ Я написал ниже: https://stackoverflow.com/a/27185855/109305

Ответы [ 17 ]

11 голосов
/ 15 февраля 2017

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

git checkout -b branch_name

Нажмите эту кнопку на пульте

git push -u имя_удаления local_branch_name: имя_удаленного_ранца

Здесь

  1. -u: устанавливает восходящую ветвь
  2. remote_name: git устанавливает имя по умолчанию как «origin» при создании хранилища. Однако это можно изменить на другое произвольное имя.
  3. local_branch_name: имя локальной ветви, которую нужно отправить.
  4. remote_branch_name: имя удаленной ветви, которую мы хотим создать на удаленной станции.

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

git push -u имя_удаления имя_в ветви

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

8 голосов
/ 27 октября 2014

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

git push --set-upstream origin <remote-branch-name>

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

8 голосов
/ 23 октября 2014

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

# create new branch and checkout that branch
git checkout -b myNewBranch
# now push branch to remote 
git push origin myNewBranch
# set up the new branch to track remote branch from origin
git branch --set-upstream-to=origin/myNewBranch myNewBranch
6 голосов
/ 30 марта 2015

Просто хотел добавить это, пока:

git checkout -b {branchName}

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

git branch {branchName}

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

5 голосов
/ 21 июля 2015

Как сделать через Source Tree

 1: Open SourceTree, click on Repository -> Checkout
 2 :Click on Create New Branch
 3: Select branch where from you want to get code for new branch 
 4: Give your branch name
 5: Push the branch  (by click on Push button)
5 голосов
/ 25 февраля 2014

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

Например, я локально клонировал два разных репозитория, и мне пришлось скопировать repo2 / branch1 в repo1 / и затем нажать его тоже.

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

3 голосов
/ 01 февраля 2014

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

1) Перейдите в представление «Git Repository Exploring» и разверните проект git, для которого вы хотите создать ветку. Под Brances -> Local .. выберите ветку, для которой вы хотите создать ветку (в моем случае я выбрал master .. вы можете выбрать другую ветку, если хотите) .. затем щелкните правой кнопкой мыши и выберите опцию Create Branch и выберите оформить заказ этот вариант проекта, а затем нажмите кнопку Готово.

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

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

...