git commit --amend
Az utolsó commit egy szerkesztőben nyílik meg. Javítsuk, majd mentsük.
git commit --amend --author="Nagy János <nagy@zold.lan>" --no-edit
A --no-edit hatására a commit szövege nem nyílik meg szerkesztésre. Nélküle a commit szövegét is szerkeszthetjük.
git config --local user.name "Nagy János" git config --local user.email nagy@zold.lan git commit --amend --reset-author --no-edit
Ha szerveren közzé tettük a projektünket, és valaki azt már letöltötte, akkor ez nem ajánlott!
Ha 4 commit van összesen, akkor csak az utolsó 3-t lehet így megváltoztatni.
git rebase -i HEAD^3
A 3 helyére, írjuk be, hány commit tulajdonosát szeretnénk átírni.
Ezzel az utasítással nem lehet az első commit tulajdonosát megváltoztatni.
Egy szerkesztőben megjelenik 3 commit soronként. Minden commit előtt egy pick szó. Amelyik commitnál szernénk javítani, ott cseréljük le a pick szót edit szóra, vagy egy „e” betűre.
edit 066e33e A második modul kész edit 78b0a4a A harmadik modul kész edit 84c3807 A negyedik modul kész # Rebase 84c3807 onto 066e33e (3 commands) #...
Javítsuk a negyedik commit tulajdonosát:
git commit --amend --author="Nagy János <nagy@zold.lan>" --no-edit
Menjünk a következő commitra:
git rebase --continue
Ezt ismételjük még kétszer.
Az utolsó git rebase --continue utasítás befejezi a rebase módot. Ehhez hasonlót kell lássunk:
Successfully rebased and updated refs/headers/master.
Végül feltöltésnél:
git push -f
Változások feltöltése, a mások commit-jainak változtatása nélkül:
git push --force-with-lease
git config --local user.name "Nagy János" git config --local user.email nagy@zold.lan git rebase --onto HEAD~3 --exec "git commit --amend --reset-author --no-edit" HEAD~3
Ha szerveren közzé tettük a projektünket, és valaki azt már letöltötte, akkor nem ajánlott az összes commit tulajdonosának javítása!
git rebase -i --root
Egy szerkesztőben megjelenik az összes commit soronként. Minden commit előtt egy pick szó. Amelyik commitnál szeretnénk javítani, ott cseréljük le a pick szót edit szóra, vagy egy „e” betűre.
edit f307152 Az első modul kész edit 066e33e A második modul kész edit 78b0a4a A harmadik modul kész edit 84c3807 A negyedik modul kész # Rebase 84c3807 onto 2360d19 (4 commands) #...
Mentsünk és zárjuk be a szerkesztőt.
A master ág helyett Rebase módba kerülünk.
Javítsuk a negyedik commit tulajdonosát:
git commit --amend --author="Nagy János <nagy@zold.lan>" --no-edit
Menjünk a következő commitra:
git rebase --continue
Ezt ismételjük még háromszor.
Az utoljára beírt git rebase –continue arról tájékoztat, hogy befejeztük a szerkesztéseket. A következőhöz hasonlót kell látni.
Successfully rebased and updated refs/headers/master.
Végül feltöltésnél:
git push -f
Változások feltöltése, a mások commit-jainak változtatása nélkül:
git push --force-with-lease