Berlaku untuk Eclipse Luna + Eclipse Git 3.6.1
SAYA,
- repositori git kloning
- membuat beberapa perubahan dalam kode sumber
- perubahan bertahap dari Git Staging View
- akhirnya, lakukan dan Dorong!
Dan saya menghadapi masalah ini dengan EGit dan inilah cara saya memperbaikinya ..
Ya, seseorang melakukan perubahan sebelum saya melakukan perubahan saya. Jadi perubahannya ditolak. Setelah kesalahan ini, perubahan benar-benar dilakukan ke repositori lokal. Saya tidak ingin hanya Pullmengubah karena saya ingin mempertahankan linear historyseperti yang ditunjukkan dalam - Dalam kasus apa `git pull` bisa berbahaya?
Jadi, saya melakukan langkah-langkah berikut
- dari perspektif Repositori Git, klik kanan pada
proyek Git yang bersangkutan
- pilih
Fetch from Upstream- itu mengambil pembaruan jarak jauh (referensi dan objek) tetapi tidak ada pembaruan yang dibuat secara lokal. untuk info lebih lanjut lihat Apa perbedaan antara 'git pull' dan 'git fetch'?
- pilih
Rebase...- ini membuka popup, klik untuk Preserve merges during rebasemelihat mengapa
Apa sebenarnya yang dilakukan "rebase --preserve-merges" git (dan mengapa?)
- klik
Rebase button
- jika ada / ada
conflict(s), lanjutkan ke langkah 6 lagi langkah 11
- sebuah
Rebase Resultpopup akan muncul, klik padaOK
file comparatorakan terbuka, Anda perlu memodifikasi left side file.
- setelah Anda selesai menggabungkan perubahan dengan benar, buka
Git Stagingtampilan
stage the changes. yaituadd to index
- pada tampilan yang sama, klik
Rebase-> Continue. ulangi 7 sampai 10 sampai semua konflik diselesaikan.
- dari
Historytampilan, pilih baris komit Anda dan pilihPush Commit
- pilih
Rebase Commits of local.......kotak centang dan klik berikutnya. rujuk mengapa - Git: rebase ke cabang pengembangan dari hulu
- klik
Finish
Catatan: jika Anda memiliki beberapa komit repositori lokal, Anda perlu memadatkannya dalam satu komit untuk menghindari banyak penggabungan.