git 公司用戶名和自己的不同造成的
在提交程式碼的時候,預設使用了全域的git 使用者配置,使用者名稱 xiaoli 然後push 到github了
xiaoli
之後我配置了一下專案的git用戶,使用了xiaowang又push了一次程式碼
xiaowang
如果我現在想改寫第一次的git commit 的使用者信箱該怎麼做那?
我使用
git rebase -i HEAD~2
但是只出現了最後一次的提交資訊。
小伙看你根骨奇佳,潜力无限,来学PHP伐。
我的操作步驟略麻煩,所以備圖以做註解:
首先,透過gitk開啟歷史紀錄,如下圖:
gitk
本例中,我試圖修改第三個提交more tests for later change cases對應的使用者名稱/郵箱資訊。
more tests for later change cases
第一步,拷貝第四個提交update readme的SHA1 ID值,如上图选中部分4535579(不必全部,印像中前八位足矣)
update readme
SHA1 ID
4535579
第二步,回到命令列,開始執行rebase -i操作,如下:
rebase -i
git rebase -i 4535579
這個時候,git會自動呼叫配置好的編輯器來開啟一個介面,如下:
git
第三步,修改第一行資料(就是我們預期要修改的那條commit)的pick为edit,如下:
pick
edit
保存退出,可以看到以下結果:
帥,這時候我們就可以透過git commit --amend來暢快的修改使用者資訊了,操作如下:
git commit --amend
git commit --amend --author="LiLei <lilei@qq.com>" --no-edit
繼續完成rebase,
rebase
git rebase --continue
再次打開gitk,就可以享受你的結果了:
最後,透過git push --force將篡改歷史紀錄後的結果同步到伺服器
git push --force
注意,強制更新會有一定風險,就是這個時候如果有其他人也在向伺服器提交程式碼,那會被你的強制更新給覆蓋掉。
我的操作步驟略麻煩,所以備圖以做註解:
首先,透過
gitk
開啟歷史紀錄,如下圖:本例中,我試圖修改第三個提交
more tests for later change cases
對應的使用者名稱/郵箱資訊。第一步,拷貝第四個提交
update readme
的SHA1 ID
值,如上图选中部分4535579
(不必全部,印像中前八位足矣)第二步,回到命令列,開始執行
rebase -i
操作,如下:這個時候,
git
會自動呼叫配置好的編輯器來開啟一個介面,如下:第三步,修改第一行資料(就是我們預期要修改的那條commit)的
pick
为edit
,如下:保存退出,可以看到以下結果:
帥,這時候我們就可以透過
git commit --amend
來暢快的修改使用者資訊了,操作如下:繼續完成
rebase
,再次打開
gitk
,就可以享受你的結果了:最後,透過
git push --force
將篡改歷史紀錄後的結果同步到伺服器