Misalkan saya punya 5 commit lokal. Saya ingin mendorong hanya 2 dari mereka ke repo terpusat (menggunakan alur kerja gaya SVN). Bagaimana saya melakukan ini?
Ini tidak berhasil:
git checkout HEAD~3 #set head to three commits ago
git push #attempt push from that head
Itu akhirnya mendorong semua 5 komitmen lokal.
Saya kira saya bisa melakukan git reset untuk benar-benar membatalkan komit saya, diikuti oleh git simpanan dan kemudian git push - tapi saya sudah mendapat pesan komit tertulis dan file terorganisir dan saya tidak ingin mengulanginya.
Perasaan saya adalah bahwa beberapa bendera yang dilewati untuk mendorong atau mengatur ulang akan berfungsi.
Jika itu membantu, inilah konfigurasi git saya
[ramanujan:~/myrepo/.git]$cat config
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[remote "origin"]
url = ssh://server/git/myrepo.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
master~3. Referensi apa pun untuk komit "hingga" yang diinginkan sama-sama valid, sepertiHEAD~3atauHEAD~~~, atau SHA tertentu, atau tag yang label komit itu.