Berdasarkan @Sailesh dan @DavidCulp:
(on branch development)
$ git fetch origin master
$ git merge FETCH_HEAD
(resolve any merge conflicts if there are any)
$ git checkout master
$ git merge --no-ff development (there won't be any conflicts now)
Perintah pertama akan memastikan Anda memiliki semua komitmen upstream yang dibuat untuk master jarak jauh, dengan respons Sailesh yang tidak akan terjadi.
Yang kedua akan melakukan penggabungan dan menciptakan konflik yang kemudian bisa Anda selesaikan.
Setelah melakukannya, Anda akhirnya dapat checkout master untuk beralih ke master.
Kemudian Anda menggabungkan cabang pengembangan ke master lokal. Bendera no-ff akan membuat simpul komit di master agar seluruh gabungan dapat dilacak.
Setelah itu, Anda dapat melakukan dan mendorong penggabungan.
Prosedur ini akan memastikan ada komitmen gabungan dari pengembangan untuk menguasai yang dapat dilihat orang, maka jika mereka melihat cabang pengembangan, mereka dapat melihat komitmen individu yang telah Anda buat pada cabang tersebut selama pengembangannya.
Secara opsional, Anda bisa mengubah komitmen gabungan Anda sebelum mendorongnya, jika Anda ingin menambahkan ringkasan dari apa yang dilakukan di cabang pengembangan.
EDIT: jawaban awal saya menyarankan git merge master
yang tidak melakukan apa-apa, lebih baik dilakukan git merge FETCH_HEAD
setelah mengambil asal / master
git pull -u
setel pelacakan hulu untuk cabang (atau semua cabang jika mendorong lebih dari satu). Setelah diatur, pelacakan akan berlanjut. Tidak ada alasan untuk menggunakannya terus menerus.