Tanggapan @Charles benar. Bagaimanapun, saya akhirnya menggunakan ini berkali-kali, terutama untuk mendasarkan kembali konfigurasi tertentu pada sebuah proyek
* a8f9182 (HEAD -> produksi) konfigurasi produksi
| * daa18b7 (pra) konfigurasi praproduksi
| /
| * konfigurasi lokal d365f5f (lokal)
| /
* 27d2835 (dev) fitur baru yang luar biasa yang akan menyelamatkan dunia
* | 56d2467 (master) seni membosankan untuk proyek
| /
bahwa saya membuat perintah baru untuk itu:
$ cat ~ / bin / git-rebaseshot
KOMIT = $ 1
DEST = $ {2: -KEPALA}
git rebase $ {COMMIT} ^ $ {COMMIT} - menjadi $ DEST
biasanya Anda ingin melengkapi nama cabang secara otomatis untuk perintah itu, jadi tambahkan sumber fungsi ini (menambahkan ke .bashrc atau .profile):
_git_rebaseshot ()
{
__gitcomp_nl "$ (__ git_refs)"
}
git autocomplete akan mencarinya
Anda dapat menggunakan perintah ini seperti ini:
# rebase config on prepro on actual HEAD
$ git rebaseshot prepro
# rebase config on local onto dev
$ git rebaseshot local dev
# rebase production config on master
$ git rebaseshot pro master
Jika Anda membagi fitur dengan benar, kemungkinan tidak terbatas.
* a8f9182 (HEAD -> postgres) konfigurasi BBDD
* a8f9182 (lokal) konfigurasi lokal
* a8f9182 (debug) konfigurasi tingkat log
* a8f9182 (dev) fitur baru
|
Saya rasa inilah yang suka dilakukan orang-orang selimut .
perintah ini akan tetap bekerja dengan sha / ref apa pun yang Anda berikan:
$ git rebaseshot <Feature branch> master
$ git rebaseshot <commit of XX> master