Saya telah menggunakan github dari periode yang relatif singkat, dan saya selalu menggunakan klien untuk melakukan komit dan menarik. Saya memutuskan untuk mencobanya dari git bash kemarin, dan saya berhasil membuat repo baru dan file berkomitmen.
Hari ini saya melakukan perubahan pada repositori dari komputer lain, saya telah melakukan perubahan dan sekarang saya kembali ke rumah dan melakukan git pull
untuk memperbarui versi lokal saya dan saya mendapatkan ini:
There is no tracking information for the current branch.
Please specify which branch you want to merge with.
See git-pull(1) for details
git pull <remote> <branch>
If you wish to set tracking information for this branch you can do so with:
git branch --set-upstream develop origin/<branch>
satu-satunya penyumbang repo ini adalah saya dan tidak ada cabang (hanya master). Saya di windows dan saya telah melakukan tarikan dari git bash:
status git:
$ git status
# On branch master
nothing to commit, working directory clean
cabang git:
$ git branch
* master
Apa yang saya lakukan salah?
git remote -v
? Apa katanya?git pull
.git pull --set-upstream-to=origin/master master
dimungkinkan. Lihat jawaban saya di bawah iniJawaban:
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.
sumber
git branch -u origin/master
, dengan asumsi Anda sudah memeriksa master. Jika tidak,git branch -u origin/master master
akan berhasil.--set-upstream-to=
sintaks yang lebih jelas . (yang merupakan pengganti untuk--set-upstream
)fetch
telah hilang. Oleh karena itu perlu mengaturnya lagi. :)Lihat: tag checkout git, pull git gagal di cabang
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:Terima kasih kepada https://zarino.co.uk/post/git-set-upstream/
sumber
.gitconfig
dalam satu baris (dapat dimodifikasi untuk konfigurasi lokal atau lainnya):git config --global alias.set-upstream '!git branch --set-upstream-to=origin/$(git symbolic-ref --short HEAD)'
Jawaban ComputerDruid sangat bagus, tetapi saya rasa itu tidak perlu diatur secara manual kecuali Anda mau. Saya menambahkan jawaban ini karena orang mungkin berpikir itu adalah langkah yang perlu.
Kesalahan ini akan hilang jika Anda menentukan jarak jauh yang ingin Anda tarik seperti di bawah ini:
Perhatikan bahwa itu
origin
adalah nama remote danmaster
nama cabang.1) Cara memeriksa nama jarak jauh
2) Cara melihat cabang apa yang tersedia di repositori.
sumber
Saya sering menemukan pesan yang tepat ini karena saya membuat cabang lokal melalui
git checkout -b <feature-branch-name>
tanpa terlebih dahulu membuat cabang jarak jauh.Setelah semua pekerjaan selesai dan dilakukan secara lokal, perbaikannya adalah
git push -u
yang menciptakan cabang jarak jauh, mendorong semua pekerjaan saya, dan kemudian menggabungkan URL permintaan.sumber
git push -u origin <my-feature-branch-name>
untuk membuat cabang terpencil dan mendorong pekerjaan sayaSaya mencoba contoh di atas dan tidak bisa menyinkronkannya dengan cabang (non-master) yang saya buat di komputer lain. Untuk latar belakang, saya membuat repositori ini di komputer A (git v 1.8) dan kemudian mengkloning repositori ke komputer B (git 2.14). Saya membuat semua perubahan pada comp B, tetapi ketika saya mencoba menarik perubahan ke komputer AI tidak dapat melakukannya, mendapatkan kesalahan di atas sama. Mirip dengan solusi di atas, saya harus melakukan:
sedikit berbeda tapi semoga membantu seseorang
sumber
mencoba
semoga jawaban ini membantu semula dijawab di sini https://stackoverflow.com/a/55015370/8253662
sumber
Dengan Git 2.24, Anda tidak perlu melakukannya
Anda akan dapat melakukan:
Lihat lebih banyak di " remote default dan cabang menggunakan
-u
opsi - bekerja denganpush
tetapi tidakpull
".sumber
1) cabang git --set-upstream-to = asal /
<master_branch>
fitur /<your_current_branch>
2) git pull
sumber
$ git branch --set-upstream-to=heroku/master master
danbekerja untukku!
sumber
Hal yang sama terjadi pada saya sebelumnya ketika saya membuat cabang git baru tanpa mendorongnya ke asalnya.
Cobalah untuk mengeksekusi kedua baris itu terlebih dahulu:
Kemudian:
Seharusnya sekarang baik-baik saja!
sumber
Ini terjadi karena cabang saat ini tidak memiliki pelacakan pada cabang di remote. jadi kamu bisa melakukannya dengan 2 cara.
sumber
cabang git --set-upstream-to = asal / utama
sumber