Ok jadi saya berkontribusi pada proyek di github. Proyek di github adalah upstream
, repo bercabang saya di github adalah origin
, dan local
repo saya di komputer saya.
git checkout -b feature
# Working on feature
git commit -a -m 'only commit on feature'
kemudian saya mengajukan permintaan tarik
git push origin master
Permintaan penarikan ditinjau dan perubahan yang tidak terkait perlu dilakukan. Orang lain membuat komit dan bergabung keupstream/master
Sekarang saya diminta oleh upstream
pengelola untuk "menyusun kembali permintaan tarik saya di atas master"
Ini adalah cerita saya (masukkan efek suara Hukum dan Ketertiban) .....
Saya tidak membuat perubahan apa pun pada permintaan tarik dan fitur komit pada cabangnya masih sama.
git checkout master
git fetch upstream
git checkout feature
git rebase master
=> "Current branch feature is up to date."
git push origin feature
=> "Everything up-to-date"
Saya tidak mengerti. Bagaimana ini mungkin ketika saya tahu bahwa seseorang berkomitmen dan bergabung upstream/master
setelah saya mendorong permintaan tarik saya ke origin/feature
?
Adakah yang bisa memberi tahu saya prosedur apa yang harus dilakukan dalam situasi ini?
git push origin feature
mendapatkan kesalahan non-fast-forward, gagal mendorong dll. Akankah git pull --rebase menyelesaikan kesalahan ini dan mendorong ke cabang fitur saya atau apakah ini akan menyebabkan masalah bagi pengelola dan orang lain?git fetch upstream
mengunduh perubahan terbaru, lalu akhirnyagit rebase upstream/develop
berfungsi.Perhatikan bahwa sejak September 2016, pengelola dapat memicu rebase sendiri.
Lihat " Rebase dan gabungkan permintaan tarik "
sumber