Просуваючи місцеву гілку до GitHub


117

У мене Git налаштований так, що коли я запускаю git push, він підштовхує зміни до мого репортажу GitHub. До цього часу я мав лише головну галузь.

Однак я створив місцеве відділення і взяв на себе зобов'язання з ним:

git checkout -b my_new_branch
git commit

Що я хотів би зараз зробити, це підштовхнути свої зміни в цій галузі до GitHub. Я просто робити git push?

Коли я вперше налаштував його, я запустив:

git config push.default current

Яке саме ваше запитання? Якщо push.defaultвстановити такий спосіб, так, git pushпідштовхне поточну гілку до походження, яка є вашим github repo, припускаючи, що ви клонували звідти. (Ви можете вказати інший пульт дистанційного керування, branch.my_new_branch.remoteякщо хочете.) Так ви спробували це, чи не вийшло?
Каскабель

1
Якщо ви хочете, щоб усі ваші місцеві відділення переходили до тієї самої віддаленої гілки, будьте явні: git push origin HEAD: remote_branch
Ustaman Sangat

Відповіді:


221

Я вважаю, що ви шукаєте git push origin my_new_branch, якщо припустити, що ваш вихідний файл налаштований для переходу до вашого сховища github.


git push <remote> <branch> відповідно до atlassian.com/git/tutorials/syncing/git-push
vikramvi

3
Якщо ви хочете працювати над цією галуззю з іншими людьми, а отже, і git pull, ви захочете встановити інформацію про відстеження для своєї нової гілки: git branch --set-upstream-to=origin/my_new_branch my_new_branch
gloriphobia

9

Залежно від локальних налаштувань git, якщо у вас є філія, яку ви перевірили, це не та, яку ви клонували, або та, яка існує там, де ви намагаєтесь натиснути, git не висуває вашу локальну гілку.

Ось повідомлення, яке воно надає:

попередження: push.default не встановлено; її неявна цінність змінилася в Git 2.0 з "зіставлення" на "просто". Щоб розігнати це повідомлення та зберегти традиційну поведінку, використовуйте:

git config - глобальне push.default зіставлення

Щоб провести це повідомлення та прийняти нову поведінку зараз, використовуйте:

git config --global push.default простий

Коли для параметра push.default встановлено значення "відповідність", git підштовхує локальні гілки до віддалених гілок, які вже існують з такою ж назвою.

Починаючи з Git 2.0, Git налаштовує на більш консервативну "просту" поведінку, яка лише підштовхує поточну гілку до відповідної віддаленої гілки, яку "git pull" використовує для оновлення поточної гілки.

Див. "Конфігурація довідки git" та шукайте "push.default" для отримання додаткової інформації. (у Git 1.7.11 введено "простий" режим. Використовуйте аналогічний режим "поточний" замість "простий", якщо іноді використовуєте старіші версії Git)

фатально: поточна гілка MyLocalBranchне має гілки вище за течією. Щоб натиснути поточну гілку та встановити пульт як верхній потік, використовуйте

git push --set-upstream origin MyLocalBranch


-12

Якщо ви налаштували свій git для того, щоб перейти до вашого основного репортажу GitHub, незалежно від того, з якою галуззю ви знаходитесь, він перейде до вашого майстер-репо GitHub.

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


Я запустив поточний git config push.default
Noam
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.