Saya telah mengkloning repositori git dan kemudian memeriksa sebuah tag:
# git checkout 2.4.33 -b my_branch
Ini OK, tetapi ketika saya mencoba untuk menjalankan git pull
di cabang saya, git meludahkan kesalahan ini:
Tidak ada informasi pelacakan untuk cabang saat ini. Silakan tentukan cabang mana yang ingin Anda gabungkan. Lihat git-pull (1) untuk detailnya
git pull <remote> <branch>
Jika Anda ingin mengatur informasi pelacakan untuk cabang ini, Anda dapat melakukannya dengan:
git branch --set-upstream new origin/<branch>
Saya git pull
hanya ingin memperbarui cabang utama dan membiarkan cabang saya saat ini saja (toh itu tag). Apakah hal seperti ini mungkin?
Alasan saya membutuhkan ini adalah karena saya memiliki skrip otomatis yang selalu git menarik repositori dan tentu saja gagal karena kesalahan di atas ..
git
git-pull
git-checkout
alesko
sumber
sumber
Jawaban:
Sunting: Untuk versi Git yang lebih baru,
--set-upstream master
telah ditinggalkan, Anda sebaiknya menggunakan--set-upstream-to
:Saat diminta, Anda bisa menjalankan:
Setelah itu, Anda cukup menjalankan
git pull
untuk memperbarui kode Anda.sumber
git checkout master
. Saya tidak bisa melakukannyagit pull
karena referensi ke asal hilang. Sekarang berhasil. Terima kasih!Saya memiliki masalah yang sama dan memperbaikinya dengan perintah ini:
Dari file bantuan, -u pada dasarnya menetapkan default untuk tarikan:
sumber
Coba perintah ini:
sumber
Beralih kembali ke cabang utama menggunakan
dan kemudian jalankan
git pull
operasinyaSetelah itu, Anda dapat kembali ke Anda
my_branch
lagi.sumber
@alesko : tidak mungkin hanya dilakukan
git pull
setelah checkoutmy_branch
untuk memperbaruimaster
cabang saja.Karena
git pull
juga akan bergabung ke cabang saat ini -> dalam skenario Anda kemy_branch
@Simon : itu juga akan mendorong. mengapa demikian?
dan menurut dokumen:
sumber
Pertama, pastikan Anda berada di cabang yang benar.
Kemudian (hanya satu kali):
Setelah itu ini berfungsi lagi:
sumber
Anda mungkin memiliki banyak cabang. Dan cabang Anda saat ini tidak mengatur hulu di jarak jauh.
Langkah-langkah untuk memperbaikinya:
misalnya
Setelah melakukan ini, ketika Anda melakukannya
git pull
, itu menarik dari cabang yang ditentukan.sumber
Anda bisa menentukan cabang apa yang ingin Anda tarik:
Atau Anda bisa mengaturnya sehingga cabang master lokal Anda melacak cabang master github sebagai upstream:
Pelacakan cabang ini diatur untuk Anda secara otomatis ketika Anda mengkloning repositori (hanya untuk cabang default), tetapi jika Anda menambahkan remote ke repositori yang ada, Anda harus mengatur sendiri pelacakannya. Untungnya, saran yang diberikan oleh git membuatnya mudah diingat bagaimana melakukannya.
--set-upstream tidak digunakan lagi di git 1.9.x, tampaknya. Ke depan Anda ingin menggunakan sesuatu seperti
dengan asumsi Anda sudah memeriksa master. Jika tidak,
git branch -u origin/master master
akan berhasilsumber
Coba ini
sumber
Anda perlu mengatur pelacakan Anda (hulu) untuk cabang saat ini
Sudah tidak digunakan lagi, Anda dapat menggunakan --track flag
Saya juga suka referensi dokumen yang diperhatikan oleh @casey:
sumber
Apa yang berhasil bagi saya adalah: cabang git --set-upstream-to = master asal Ketika saya melakukan penarikan lagi saya hanya mendapat pembaruan dari master dan peringatan itu hilang.
sumber
Jika seperti saya Anda harus melakukan ini sepanjang waktu, Anda dapat mengatur alias untuk melakukannya secara otomatis dengan menambahkan berikut ini ke
.gitconfig
file Anda :Saat Anda melihat pesan
There is no tracking information...
, jalankan sajagit set-upstream
, lalugit push
lagi.Terima kasih kepada https://zarino.co.uk/post/git-set-upstream/
sumber
Untuk sekadar mengunduh pembaruan:
Namun, ini hanya memperbarui referensi yang disebut
origin/master
. Cara terbaik untuk memperbarui lokal Andamaster
adalah checkout / gabung yang disebutkan dalam komentar lain. Jika Anda dapat menjamin bahwa lokal Andamaster
belum menyimpang dari trunk utama yangorigin/master
aktif, Anda dapat menggunakangit update-ref
untuk memetakan arus Andamaster
ke titik baru, tetapi itu mungkin bukan solusi terbaik untuk digunakan secara teratur ...sumber
Perintah ini sudah usang:
git branch --set-upstream master origin/master
Jadi, ketika mencoba mengatur pelacakan, ini adalah perintah yang bekerja untuk saya:
sumber