Создание удаленной ветви на GitHub


в SVN у меня есть как минимум два способа создать ветку:

svn cp /home/me/localcheckout/trunk /home/me/localcheckout/branches/newbranch
svn cp http://server/trunk http://server/branches/newbranch

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

преимущество второго заключается в том, что я могу переключить svn на локальную магистраль, внести несколько изменений в некоторые файлы и зафиксировать всего несколько КБ.

можно ли добиться этого с помощью Git?
Есть ли способ создать удаленную ветку на GitHub, а затем вытащить их на мой локальный РЕПО?

причина, по которой я спрашиваю, заключается в том, что я пытаюсь нажать пару КБ на новую удаленную ветку от master, используя подключение к интернету моих телефонов, но когда я нажимаю, он хочет нажать около 400 МБ!

объекты записи: 22% (54080/245586), 86.74 MiB | 13 KiB/s

см. Git-нажатие удаленной ветви для большого проекта очень медленно для аналогичного вопроса.

3   51   2013-11-13 07:09:33

3 ответа:

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

чтобы получить новую ветку из github, используйте стандарт .

create branch github ui

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

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

создать новую ветку с копией вашего текущего состояния

git checkout -b new_branch #< create a new local branch with a copy of your code
git push origin new_branch #< pushes to the server

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

перед созданием новой ветви всегда рекомендуется иметь последнюю версию РЕПО на локальном компьютере. Выполните следующие действия для безошибочного создания филиала.

 1. $ git branch (check which branches exist and which one is currently active (prefixed with *). This helps you avoid creating duplicate/confusing branch name)
 2. $ git branch <new_branch> (creates new branch)
 3. $ git checkout new_branch
 4. $ git add . (After making changes in the current branch)
 5. $ git commit -m "type commit msg here"
 6. $ git checkout master (switch to master branch so that merging with new_branch can be done)
 7. $ git merge new_branch (starts merging)
 8. $ git push origin master (push to the remote server)

Я сослался на это блог и я обнаружил, что это более чистый подход.