git menambahkan cabang jarak jauh

141

Saya ingin menambahkan remote, dan cabang remote itu.

Saya lakukan git remote add <newname> <url>, lalu saya lakukan git fetch --alltetapi git branch -atidak menunjukkan cabang remote apa pun. .Git / config saya menampilkan remote yang ditambahkan.

Bisakah seseorang membantu saya keluar?

Rai
sumber
2
Apa yang terjadi saat Anda git fetch remote branch:branch && git co branch?
Samy Dindane

Jawaban:

285

Saya tidak yakin apakah Anda mencoba membuat cabang jarak jauh dari cabang lokal atau sebaliknya, jadi saya telah menguraikan kedua skenario serta memberikan informasi tentang menggabungkan cabang jarak jauh dan lokal.

Membuat remote yang disebut "github":

git remote add github git://github.com/jdoe/coolapp.git
git fetch github

Cantumkan semua cabang jarak jauh:

git branch -r
  github/gh-pages
  github/master
  github/next
  github/pu

Buat cabang lokal baru (tes) dari cabang jarak jauh github (pu):

git branch test github/pu
git checkout test

Gabungkan perubahan dari cabang jarak jauh github (pu) dengan cabang lokal (tes):

git fetch github
git checkout test
git merge github/pu

Perbarui cabang jarak jauh github (pu) dari cabang lokal (tes):

git push github test:pu

Membuat cabang baru di jarak jauh menggunakan sintaks yang sama seperti memperbarui cabang jarak jauh. Misalnya, buat cabang jarak jauh baru (beta) di github dari cabang lokal (tes):

git push github test:beta

Hapus cabang jarak jauh (pu) dari github:

git push github :pu
David M. Syzdek
sumber
Apakah ada cara untuk membuat cabang lokal tanpa menentukan namanya, sehingga secara otomatis menggunakan nama yang sama dengan cabang jarak jauh?
Dubslow
1
@Dubslow git checkout --track github/pu, lihat di sini
Hinrich
25

Anda dapat memeriksa apakah Anda melakukan pengaturan jarak jauh dengan benar dan memiliki izin yang sesuai

git ls-remote origin

jika Anda memanggil remote "asal". Jika Anda mendapatkan kesalahan, Anda mungkin tidak memiliki keamanan yang diatur dengan benar seperti mengunggah kunci publik Anda ke github misalnya. Jika semuanya sudah diatur dengan benar, Anda akan mendapatkan daftar referensi jarak jauh. Sekarang

git fetch origin

akan berfungsi jika tidak ada masalah lain seperti kabel jaringan yang dicabut.

Setelah Anda selesai melakukannya, Anda bisa mendapatkan cabang apa pun yang Anda inginkan yang terdaftar dengan perintah di atas

git checkout some-branch

ini akan membuat cabang lokal dengan nama yang sama dengan cabang jarak jauh dan memeriksanya.

Adam Dymitruk
sumber
7

Berikut adalah proses lengkap untuk membuat repo lokal dan mendorong perubahan ke cabang jarak jauh baru

  1. Membuat repositori lokal: -

    Awalnya pengguna mungkin telah membuat repositori git lokal.

    $ git init : - Ini akan menjadikan folder lokal sebagai repositori Git,

  2. Tautkan cabang jarak jauh : -

    Sekarang tantangannya adalah mengaitkan repositori git lokal dengan cabang master jarak jauh .

    $ git remote add RepoName RepoURL

    penggunaan: git remote add []

  3. Uji Remote

    $ git remote show -> Tampilkan nama remote

    $ git remote -v -> Menampilkan cabang jarak jauh

  4. Sekarang Dorong ke jarak jauh

    $git add . ----> Tambahkan semua file dan folder sebagai git staged '

    $git commit -m "Your Commit Message" - - -> Komit pesannya

    $git push - - - -> Dorong perubahan ke hulu

Pavan
sumber
Ini hanyalah instruksi untuk kasus umum penggunaan git. Saya tidak melihat apa pun dalam jawaban ini yang khusus untuk pertanyaan yang diajukan.
Hack-R
6

Saya menguji apa yang disarankan @Samy Dindane di komentar di OP.

Saya percaya ini berhasil, coba

git fetch <remote_name> <remote_branch>:<local_branch>
git checkout <local_branch>

Berikut adalah contoh untuk repositori jarak jauh fiktif yang dinamai foodengan cabang yang bernama bartempat saya membuat cabang lokal yang barmelacak jarak jauh:

git fetch foo bar:bar
git checkout bar
Jason
sumber
3

Jika cabang jarak jauh sudah ada maka Anda (mungkin) bisa lolos dengan ..

git checkout branch_name

dan git akan secara otomatis mengatur untuk melacak cabang jarak jauh dengan nama yang sama di asalnya.

Sam Murphy
sumber