Saya telah mengkloning repositori, setelah itu ada orang lain yang membuat cabang baru, yang ingin saya mulai kerjakan. Saya membaca manual, dan sepertinya mati mudah. Anehnya itu tidak berfungsi, dan semua posting yang saya temukan menyarankan saya melakukan hal yang benar. Jadi saya akan tunduk pada cemoohan, karena pasti ada yang salah dengan ini:
Tindakan yang benar tampaknya menjadi
git fetch
git branch -a
* master
remotes/origin/HEAD --> origin/master
remotes/origin/master
git checkout -b dev-gml origin/dev-gml
Pada titik ini ada masalah, untuk beberapa alasan setelah git fetch
saya tidak dapat melihat cabang remote dev-gml. Kenapa tidak? Jika saya mengkloning repositori baru, itu ada di sana, jadi tentu saja cabang jauh ada:
$ mkdir ../gitest
$ cd ../gitest
$ git clone https://github.com/example/proj.git
Cloning into proj...
remote: Counting objects: 1155, done.
remote: Compressing objects: 100% (383/383), done.
remote: Total 1155 (delta 741), reused 1155 (delta 741)
Receiving objects: 100% (1155/1155), 477.22 KiB | 877 KiB/s, done.
Resolving deltas: 100% (741/741), done.
$ cd projdir
$ git branch -a
* master
remotes/origin/HEAD -> origin/master
remotes/origin/dev-gml
remotes/origin/master
Saya sudah mencoba git update
, git pull
, git fetch --all
, git pretty-please
di semua kemungkinan permutasi ...
git config --get remote.origin.fetch
menghasilkan? Jika tidak+refs/heads/*:refs/remotes/origin/*
, mungkin seharusnya begitu.+refs/heads/master:refs/remotes/origin/master
denganmaster
bukannya*
Jawaban:
Masalahnya dapat dilihat ketika memeriksa
remote.origin.fetch
pengaturan(Baris yang dimulai dengan
$
bash meminta dengan perintah yang saya ketik. Baris lainnya adalah output yang dihasilkan)Seperti yang Anda lihat, dalam kasus saya, remote diatur untuk mengambil cabang master secara khusus dan hanya. Saya memperbaikinya sesuai di bawah ini, termasuk perintah kedua untuk memeriksa hasilnya.
Wildcard
*
tentu saja berarti segalanya di bawah jalur itu.Sayangnya saya melihat komentar ini setelah saya menggali dan menemukan jawabannya dengan coba-coba.
sumber
--replace-all
parameter untuk mengganti semua nilai pada konfigurasi untuk sayaremote.origin.fetch
git clone <url> --branch <branch> --single-branch [<folder>]
git clone ... --depth 1
Saya memiliki masalah ini hari ini di repo.
Bukan itu
+refs/heads/*:refs/remotes/origin/*
masalah sesuai solusi teratas.Gejala hanyalah itu
git fetch origin
ataugit fetch
sepertinya tidak melakukan apa-apa, meskipun ada cabang terpencil untuk dijemput.Setelah mencoba banyak hal, saya menghapus asal remote, dan membuatnya kembali. Itu tampaknya telah memperbaikinya. Tidak tahu kenapa
hapus dengan:
git remote rm origin
dan buat ulang dengan:
git remote add origin <git uri>
sumber
remote.origin.fetch
yaitu+refs/heads/*:refs/remotes/origin/*
. Solusi di atas membantu saya.git remote update origin
bekerja untukku. Saya kira sesuatu perlu menyegarkan?git remote update origin
tidak berfungsi untuk saya tetapi menghapus dan menambahkan remote tidak.Pembaruan jarak jauh
Anda harus berlari
atau
Kemudian Anda dapat menjalankan
git branch -r
daftar cabang jarak jauh.Periksa cabang baru
Untuk melacak cabang jarak jauh (baru) sebagai cabang lokal:
atau (terkadang tidak berfungsi tanpa tambahan
remotes/
):Lembar cheat git yang membantu
sumber
git fetch
diikuti olehgit branch -a
itu tidak menampilkan semua cabang. Saya harus menghapus direktori kerja saya dan mengkloning kembali untuk melihat cabangdev-gml
yang dibuat kolaborator. Ini berhasil kali ini, tetapi kita akan sering bercabang!Edit:
mungkin berhasil. Itulah yang akan saya coba jika saya masih menghadapi masalah. HTHgit remote update origin
. Itu membuat cabang yang hilang terlihat melaluigit branch -l -r
. (Saya memang melihatgit config --get remote.origin.fetch
dan hasilnya+refs/heads/*:refs/remotes/origin/*
seperti yang diharapkan.)tulis dari terminal
ini bekerja dengan baik.
sumber
Untuk membuatnya lebih spesifik, Buat cabang pelacakan, yang berarti Anda sekarang melacak cabang jauh.
Setelah itu kamu bisa
Kemudian untuk bekerja di cabang itu lakukan
Setelah Anda membuat perubahan pada cabang. Anda dapat mengambil dan menggabungkan dengan cabang pelacakan jarak jauh Anda untuk menggabungkan perubahan Anda dan mendorong ke cabang jarak jauh seperti di bawah ini.
Semoga ini bisa membantu dan memberi Anda ide, cara kerjanya.
sumber
Saya memiliki masalah yang sama, namun dalam kasus saya, saya bisa menarik / mendorong ke cabang terpencil tetapi
git status
tidak menunjukkan keadaan cabang lokal wrt yang jauh.Juga, dalam kasus saya
git config --get remote.origin.fetch
tidak mengembalikan apa punMasalahnya adalah bahwa ada kesalahan ketik di
.git/config
file di garis ambil dari blok jarak jauh masing-masing. Mungkin sesuatu yang saya tambahkan secara tidak sengaja sebelumnya (kadang-kadang saya langsung melihat file ini, atau bahkan mengeditnya)Jadi, periksa apakah entri jarak jauh Anda dalam
.git/config
file sudah benar, misalnya:sumber
Ini bisa disebabkan oleh momen telapak tangan: jika Anda beralih di antara beberapa klon, mudah untuk menemukan diri Anda di pohon sumber yang salah mencoba menarik cabang yang tidak ada. Lebih mudah ketika klon memiliki nama yang mirip, atau repo adalah klon yang berbeda untuk proyek yang sama dari masing-masing dari beberapa kontributor. Klon git baru tampaknya akan menyelesaikan "masalah" itu ketika masalah sebenarnya adalah kehilangan fokus atau konteks kerja atau keduanya.
sumber
Saya harus membuka Repositori Jarak Jauh GitExtensions saya karena sepertinya tidak ada yang berfungsi. Di sana saya melihat bahwa 2 cabang tidak memiliki repositori jarak jauh yang dikonfigurasi. setelah menyesuaikan terlihat sebagai berikut
Cabang pemberitahuan
noExternal3
masih menunjukkan tidak memiliki repositori jarak jauh. Tidak yakin kombo perintah bash apa yang akan ditemukan atau disesuaikan itu.sumber
Punya masalah yang sama hari ini menyiapkan repo saya dari awal. Saya mencoba semuanya, tidak ada yang berhasil kecuali menghapus asal dan menambahkan kembali kembali.
sumber
Kami memiliki masalah yang sama dan Anda harus menggunakannya
Semoga ini bisa membantu seseorang menghadapi masalah yang sama
sumber