Anda dapat memberi tahu Git untuk menarik semua cabang seperti ini:
git config remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*"
git fetch origin
Jika Anda melihat ke dalam .git/config
, akan terlihat seperti ini:
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
ignorecase = true
precomposeunicode = false
[remote "origin"]
url = https://github.com/owner/repo.git
fetch = +refs/heads/master:refs/remotes/origin/master
[branch "master"]
remote = origin
merge = refs/heads/master
rebase = true
Saya membandingkan ini dengan klon lengkap, dan melihat bahwa satu-satunya perbedaan adalah "ambil" di bawah [remote "origin"]
.
Catatan: Saya menjalankan Git versi 1.8.2. Opsi konfigurasi mungkin telah berubah jika Anda menjalankan Git versi lama. Jika perintah saya tidak berfungsi, saya sarankan .git/config
untuk melihat-lihat untuk melihat apakah Anda dapat melihat sesuatu yang serupa.
git
command line tool sangat kuat (pada kenyataannya, sebagian besar perintah diimplementasikan dalam hal perintah lain), sehingga Anda dapat melakukan seluruh banyak hal dengan itu setelah Anda memahami bagaimana repositori diletakkan (pada dasarnya bagaimana.git
karya folder ).git show-ref tags
masih gagal.git clone --depth=1 --branch branchname [email protected]:foobar/repo.git destinationpath
Jika Anda ingin menambahkan satu cabang, Anda dapat melakukan hal berikut:
Bekerja dengan git versi 1.9.1
sumber
fetch =
baris ke .git / config, sangat berguna ketika Anda ingin beralih di antara dua cabang di remote tetapi tidak mengambil sejumlah besar cabang lain. Terima kasih!Untuk menambahkan cabang jarak jauh lainnya ke repositori lokal saya yang telah dikloning menggunakan
--single-branch
, berikut ini berfungsi untuk saya:Anda juga dapat menggunakan karakter pengganti untuk
[remote-branch]
, misalnyaIni bekerja menggunakan git versi 2.21.1 . Jawaban lain yang menyarankan untuk
git fetch origin [remote-branch]:[local-branch]
tidak berfungsi karena ini membuat cabang lokal dalam keadaan tidak terlacak. Saat menjalankannyagit pull
, pertama kali mencoba menggabungkan semua komit dari cabang jarak jauh ke cabang lokal saya sekali lagi.sumber
Tambahkan saja repo asli sebagai remote baru, dan kerjakan dari sana?
Anda bahkan dapat menghapus remote 'origin' Anda saat ini dan mengganti nama 'myNewOrigin' menjadi 'origin' jika Anda mau.
Dari sana Anda bisa menarik / menggabungkan / rebase.
sumber
Perubahan hanya
.git/config
file repo lokal Anda, barisfetch
dari[remote origin] section
.Sebelum sesuatu seperti ini
Setelah itu akan terjadi
sumber
Saya awalnya menerapkan jawaban Dominik Pawlak dan berhasil. Tetapi saya tidak dapat menarik perubahan lebih lanjut, setelah saya memasukkan lebih banyak kode ke cabang baru saya.
Ada cara lain untuk mengatur ulang
single-branch
seluruhnya, yang belum disebutkan di sini:Ini mengatur ulang semuanya ke aslinya.
sumber
Bagi saya bekerja:
sumber