Bagaimana anda membuat sebuah remote Git branch?

Saya membuat sebuah cabang lokal yang ingin saya 'push' hulu. Ada pertanyaan serupa di sini di Stack Overflow pada bagaimana untuk melacak yang baru dibuat cabang terpencil.

Namun, alur kerja saya adalah sedikit berbeda. Pertama saya ingin membuat sebuah cabang lokal, dan aku hanya akan mendorong hulu ketika saya'm puas dan ingin berbagi cabang saya.

  • Bagaimana saya melakukan itu? (saya penelusuran google tampaknya tidak datang dengan apa-apa).
  • Bagaimana saya memberitahu rekan-rekan saya untuk menariknya dari hulu repository?

UPDATE Dengan Git 2.0 ada jawaban sederhana aku telah tertulis di bawah ini: https://stackoverflow.com/a/27185855/109305

Mengomentari pertanyaan (4)

Pertama, anda membuat cabang lokal:

git checkout -b  # Create a new branch and check it out

Remote branch dibuat secara otomatis ketika anda push ke remote server. Jadi, ketika anda merasa siap untuk itu, anda hanya dapat melakukan:

git push   

Di mana <remote-nama> biasanya asal, nama yang git memberikan ke remote anda kloning dari. Rekan anda akan kemudian hanya menarik yang cabang, dan's otomatis dibuat secara lokal.

Namun perlu dicatat bahwa secara formal, format:

git push  :

Tapi ketika anda mengabaikan salah satu, ia menganggap kedua cabang nama yang sama. Setelah mengatakan ini, seperti kata-kata perhatian, jangan membuat kesalahan kritis yang menentukan hanya :<remote-cabang-nama> (dengan usus besar), atau remote cabang akan dihapus!

Jadi yang berikutnya git pull akan tahu apa yang harus dilakukan, anda mungkin ingin menggunakan:

git push --set-upstream   

Seperti yang dijelaskan di bawah ini, --set-hulu pilihan set up hulu cabang:

Untuk setiap cabang yang lebih up to date atau berhasil mendorong, tambahkan hulu (tracking) referensi, digunakan oleh argumen-kurang git-tarik(1) dan lainnya perintah.

Komentar (29)

Pertama, anda harus membuat cabang lokal

git checkout -b your_branch

Setelah itu, anda dapat bekerja secara lokal di cabang anda, ketika anda siap untuk berbagi cabang, mendorong itu. Perintah selanjutnya mendorong cabang ke remote repository asal dan trek itu

git push -u origin your_branch

Rekan-rekan dapat menghubungi cabang anda, dengan melakukan:

git fetch
git checkout origin/your_branch

Anda dapat terus bekerja di cabang dan mendorong kapanpun anda inginkan tanpa argumen untuk git push (argumentless git push akan mendorong guru untuk remote master, your_branch lokal ke remote your_branch, dll...)

git push

Rekan-rekan dapat mendorong ke cabang anda dengan melakukan melakukan dan kemudian mendorong secara eksplisit

... work ...
git commit
... work ...
git commit
git push origin HEAD:refs/heads/your_branch

Atau pelacakan cabang untuk menghindari argumen untuk git push

git checkout --track -b your_branch origin/your_branch
... work ...
git commit
... work ...
git commit
git push
Komentar (0)
Larutan

Sederhana Git 2.0+ solusi:

Sebagai Git 2.0 perilaku telah menjadi lebih sederhana:

Anda dapat mengkonfigurasi git dengan push.default = arus untuk membuat hidup lebih mudah:

Saya menambahkan ini jadi sekarang saya hanya bisa mendorong cabang baru hulu dengan

$ git push -u

-u akan melacak branch jauh dari nama yang sama. Sekarang dengan konfigurasi ini anda akan auto-kira remote referensi untuk git push. Dari git.config dokumentasi:

push.default

Mendefinisikan tindakan git push harus mengambil jika tidak ada refspec secara eksplisit diberikan.

push.default = arus - push cabang saat ini untuk memperbarui cabang dengan nama yang sama pada ujung penerima. Bekerja di pusat maupun non-central alur kerja.

Bagi saya, ini adalah sebuah penyederhanaan dari saya sehari-hari Git alur kerja. Konfigurasi pengaturan mengurus 'biasa' use case di mana anda menambahkan sebuah cabang lokal dan ingin membuat jarak jauh. Juga, saya dapat dengan mudah membuat cabang-cabang lokal dari remote dengan hanya melakukan git co remote_branch_name (sebagai lawan untuk menggunakan --set-hulu-untuk bendera).

Saya tahu ini pertanyaan dan menerima jawaban yang agak tua, tapi perilaku telah berubah sehingga sekarang pilihan konfigurasi yang ada untuk membuat alur kerja anda lebih sederhana.

Untuk menambah global Git konfigurasi, jalankan pada command line:

$ git config --global push.default current
Komentar (3)

Seperti yang tercantum dalam jawaban sebelumnya,

git push  :

ini cukup untuk mendorong cabang lokal.

Rekan anda, dapat menarik semua remote cabang (termasuk yang baru) dengan perintah ini:

git remote update

Kemudian, untuk membuat perubahan pada cabang, aliran biasa:

git checkout -b  /
Komentar (0)

Buat cabang baru berbasis lokal pada saat ini cabang:

git checkout -b newbranch

Melakukan perubahan apapun seperti biasanya. Kemudian, dorong hulu:

git push -u origin HEAD

Ini adalah cara pintas untuk mendorong arus cabang ke cabang dengan nama yang sama pada asal dan melacak sehingga anda don't perlu menentukan asal KEPALA di masa depan.

Komentar (5)

Jika anda ingin membuat cabang dari cabang saat ini

git checkout -b {your_local_branch_name} 

anda ingin sebuah cabang dari cabang terpencil, anda dapat mencoba

git checkout -b {your_local_branch_name} origin/

Jika anda selesai dengan perubahan anda dapat menambahkan file.

git add -A or git add 

Maka jangan melakukan secara lokal

git commit -m 'your commit message'

Bila anda ingin push ke remote repo

git push -u origin 

Semua bersama-sama akan

git checkout -b bug_fixes 

atau Jika anda ingin membuat cabang dari cabang terpencil mengatakan pengembangan

git checkout -b bug_fixes asal/pengembangan

Anda dapat mendorong ke cabang untuk remote repo oleh

git push -u origin bug_fixes

Kapan saja anda ingin memperbarui cabang dari cabang lain mengatakan master.

git pull asal master.

Komentar (0)

Jika anda ingin benar-benar hanya membuat remote branch tanpa memiliki satu lokal, anda dapat melakukannya seperti ini:

git push origin HEAD:refs/heads/foo

Hal itu mendorong apapun yang anda KEPALA ke cabang foo yang tidak ada pada remote.

Komentar (4)

Solusi termudah... Drumm Roll... git versi 2.10.1 (Apple Git-78)

1) git checkout -b localBranchNameThatDoesNotExistInRemote

2) Do your changes, and do a git commit 

3) git push origin localBranchNameThatDoesNotExistInRemote --force

N. B. - cabang yang baru saja anda buat dalam lingkungan lokal anda, dan remote tidak ada cabang di mana anda mencoba untuk mendorong, harus memiliki nama yang sama.

Komentar (1)

Pertama anda membuat cabang lokal:

git checkout -b your_branch

Dan kemudian untuk membuat cabang dari jarak jauh:

git push --set-upstream origin your_branch

Catatan: Ini tidak bekerja pada versi latests dari git:

$ git --version
git version 2.3.0

Cheers!

Komentar (1)

Membuat cabang di komputer lokal anda dan beralih di cabang ini :

$ git checkout -b [name_of_your_new_branch]

Mendorong cabang di github :

$ git push origin [name_of_your_new_branch]

Ketika anda ingin melakukan sesuatu di cabang anda, pastikan untuk berada di cabang anda.

Anda dapat melihat semua cabang yang dibuat dengan menggunakan :

$ git branch

Yang akan menampilkan :

* approval_messages
  master
  master_clean

Tambahkan remote baru untuk cabang anda :

$ git remote add [name_of_your_remote] 

Mendorong perubahan dari anda melakukan ke cabang anda :

$ git push origin [name_of_your_remote]

Update cabang anda ketika original cabang dari repositori resmi telah diperbarui :

$ git fetch [name_of_your_remote]

Kemudian anda harus mendaftar untuk menggabungkan perubahan, jika anda branch adalah turunan dari mengembangkan yang perlu anda lakukan :

$ git merge [name_of_your_remote]/develop

Menghapus sebuah cabang lokal anda filesystem :

$ git branch -d [name_of_your_new_branch]

Untuk memaksa penghapusan cabang lokal anda filesystem :

$ git branch -D [name_of_your_new_branch]

Menghapus cabang di github :

$ git push origin :[name_of_your_new_branch]

Di Sini Semua Informasi

Lain yang sudah Ada proyek

Komentar (0)

Menciptakan sebuah cabang lokal dari yang sudah ada cabang (dapat master/ mengembangkan/ setiap-lain-lain-cabang).

git checkout -b branch_name

Mendorong ini untuk remote

git push-u remote_name local_branch_name:remote_branch_name

Di sini,

  1. -u : set hulu cabang
  2. remote_name : git set nama default menjadi "asal" ketika itu menciptakan repositori. Ini namun dapat diubah ke nama sewenang-wenang.
  3. local_branch_name : nama cabang lokal harus didorong.
  4. remote_branch_name : adalah nama dari remote branch yang kita inginkan yang akan dibuat pada remote.

Jika kita menghapus lokal dan remote branch nama-nama, itu akan memiliki format

git push-u remote_name branch_name

Hal ini akan mendorong cabang lokal ke remote dan dengan nama yang sama seperti cabang lokal branch_name. Cabang lokal akan melacak cabang terpencil juga.

Komentar (0)

Aku tahu pertanyaan ini dijawab dengan baik, tapi hanya ingin daftar langkah-langkah yang saya ambil untuk membuat cabang baru "myNewBranch" dan push ke remote ("asal" dalam kasus saya) dan menyiapkan pelacakan. Pertimbangkan ini "TL;DR" versi :)

# 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
Komentar (0)

Sekarang dengan git, anda hanya bisa mengetik, ketika anda berada di cabang yang benar

git push --set-hulu asal <remote-branch-name>

dan git buat untuk anda asal-cabang.

Komentar (3)

Anda dapat melakukannya dalam 2 steeps:

1. Gunakan checkout untuk membuat cabang lokal:

git checkout -b yourBranchName

2. Gunakan push perintah untuk autocreate cabang dan mengirim kode ke remote repository:

git push -u origin yourBanchName

Ada beberapa cara untuk melakukan hal ini, tetapi saya berpikir bahwa cara ini benar-benar sederhana.

Komentar (0)

Hanya ingin menambahkan bahwa sementara:

git checkout -b {branchName}

Menciptakan cabang baru, hal ini juga memeriksa bahwa cabang / membuat anda saat ini cabang. Jika, untuk beberapa alasan, semua yang anda ingin lakukan adalah snap off cabang tetapi tidak membuat anda saat ini cabang, maka anda akan menggunakan perintah berikut:

git branch {branchName}

Dalam perintah pertama, "checkout" membuat kata branch anda saat ini cabang, dan " b" artinya: cabang ini doesn't ada lagi, sehingga membuatnya bagi saya.

Komentar (0)

Cara melakukan melalui Sumber Pohon

 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)
Komentar (0)

git push-u <remote-nama> <cabang-nama> doesn't bekerja jika baru dibuat cabang isn't melahirkan dari repo, yaitu jika anda ingin't menciptakan cabang baru menggunakan git checkout -b new_branch`, maka ini tidak akan bekerja.

Misalnya, saya punya kloning dua repositori lokal dan aku harus copy repo2/branch1 untuk repo1/ dan kemudian mendorong itu juga.

Ini link membantu saya mendorong saya cabang lokal (kloning dari yang lain repo) untuk remote repo:

Komentar (0)

Berikut adalah bagaimana anda melakukannya di eclipse melalui Egit.

  1. Pergi "Repositori Git Menjelajahi" melihat dan expland git proyek yang anda ingin membuat cabang. Di bawah Cabang -> Lokal .. pilih cabang yang anda inginkan untuk membuat cabang ( Dalam kasus saya, saya memilih master .. anda bisa pilih lain lain cabang jika anda ingin) .. kemudian klik kanan dan klik Buat Cabang pilihan .. dan pilih checkout proyek ini pilihan, dan kemudian klik tombol finish.

  2. Sekarang dari project explorer pilih proyek .. klik kanan kemudian Tim -> Mendorong Cabang.

Remote baru cabang yang akan dibuat. Anda dapat memberikan nama cabang ke rekan anda sehingga mereka bisa melakukannya.

Komentar (1)

Saya menggunakan ini dan itu cukup berguna:

git config --global alias.mkdir '!git checkout -b $1; git status; git push -u origin $1; exit;'

Penggunaan: git mkdir NEW_BRANCH

Anda don't bahkan perlu git status; mungkin, aku hanya ingin memastikan semuanya berjalan dengan baik...

Anda dapat memiliki BAIK LOKAL dan REMOTE cabang dengan satu perintah.

Komentar (0)