Saya telah menyiapkan beberapa cabang pelacakan jarak jauh di git, tetapi sepertinya saya tidak pernah dapat menggabungkannya ke cabang lokal setelah saya memperbaruinya dengan 'git fetch'.
Misalnya, saya memiliki cabang jarak jauh yang disebut 'an-other-branch'. Saya mengaturnya secara lokal sebagai cabang pelacakan menggunakan
git branch --track an-other-branch origin/an-other-branch
Sejauh ini baik. Tetapi jika cabang itu diperbarui (biasanya oleh saya memindahkan mesin dan melakukan dari mesin itu), dan saya ingin memperbaruinya di mesin asli, saya mengalami masalah dengan fetch / merge:
git fetch origin an-other-branch
git merge origin/an-other-branch
Setiap kali saya melakukan ini, saya mendapatkan pesan 'Sudah up-to-date' dan tidak ada yang bergabung.
Namun, a
git pull origin an-other-branch
selalu perbarui seperti yang Anda harapkan.
Juga, menjalankan git diff
git diff origin/an-other-branch
menunjukkan bahwa ada perbedaan, jadi menurut saya sintaks saya salah.
Apa yang saya lakukan salah?
EDIT [2010-04-09]: Saya telah memeriksa beberapa kali, dan saya jelas tidak berada di cabang yang berbeda. Haruskah 'git fetch' saya yang diikuti dengan 'git merge' (seperti yang ditunjukkan di atas) harus melakukan hal yang sama persis dengan git pull? Saya akan mendapatkan beberapa alur kerja yang menunjukkan hasil dari status git dll.
git fetch origin an-other-branch
menyimpan tip yang diambilFETCH_HEAD
, tetapi tidakorigin/an-other-branch
(yaitu 'cabang pelacakan jarak jauh' biasa). Jadi, seseorang dapat melakukannyagit fetch origin an-other-branch && git merge FETCH_HEAD
, tetapi melakukannya seperti yang dikatakan @Gareth lebih baik (atau cukup gunakan git pull ).