Apa perbedaan antara git pull origin master
dan git pull origin/master
?
git
version-control
Rachel
sumber
sumber
git pull origin/master
. Jika Anda ingin menggabungkan cabang jarak jauh [yang disimpan secara lokal]origin/master
, cukup gunakangit merge origin/master
.git pull
berartigit fetch
diikuti olehgit merge
. Itu mengambil konten dari jarak jauh, lalu menggabungkannya ke cabang Anda saat ini. Tetapiorigin/master
cabang lokal (melacak cabang jarak jauh). Jika Anda ingin menggabungkannya, Anda tidak perlu mengambil apa pun. Itu menyesatkan untuk mengatakangit pull origin/master
ketika Anda tidak benar-benar mengambil dari jarak jauh.origin/master
adalah cabang yang disimpan secara lokal yang menyimpan cabang master di remote asal.Jawaban:
git pull origin master
akan menarik perubahan dariorigin
remote,master
cabang dan menggabungkannya ke cabang check-out lokal.git pull origin/master
akan menarik perubahan dari cabang yang disimpan secara lokalorigin/master
dan menggabungkannya ke cabang check-out lokal. Theorigin/master
cabang pada dasarnya adalah "salinan cache" dari apa yang terakhir ditarik dariorigin
, yang mengapa itu disebut cabang terpencil dalam bahasa git. Ini mungkin agak membingungkan.Anda dapat melihat cabang apa yang tersedia
git branch
dangit branch -r
untuk melihat "cabang jarak jauh".sumber
git pull origin master
akan selalu bergabung ke cabang master, katakanlah saya di cabang lain di repo saya dan kemudian melakukan perintah di atas, akankah itu memperbarui cabang saya saat ini dengan perubahan jarak jauh asal atau cabang master saya dengan perubahan?git merge
(dan karenanyagit pull
) selalu bergabung ke cabang saat ini. Untuk bergabung dengan sesuatu selain cabang Anda saat ini, cukup periksa dulu.git pull origin/master
mungkin perintah yang valid ketika ini ditulis, tetapi saat ini (git 1.7.10.3) gagal denganfatal: 'origin/master' does not appear to be a git repository
(sebagaimana mestinya - pull selalu untuk menarik dari remote).git pull origin master
akan mengambil semua perubahan dari cabang master remote dan akan menggabungkannya ke lokal Anda. Kami biasanya tidak menggunakan git pull asal / master. Kami dapat melakukan hal yang sama dengangit merge origin/master
. Ini akan menggabungkan semua perubahan dari "salinan cache" dari cabang master asal ke cabang lokal Anda. Dalam kasus sayagit pull origin/master
adalah melemparkan kesalahan.sumber
git pull
=git fetch
+git merge origin/branch
git pull
dangit pull origin branch
hanya berbeda bahwa yang terakhir hanya akan "memperbarui" asal / cabang dan tidak semua asal / * sepertigit pull
halnya.git pull origin/branch
tidak akan berfungsi karena sedang mencoba melakukangit fetch origin/branch
yang tidak valid.Pertanyaan terkait: git fetch + git merge origin / master vs git pull origin / master
sumber