git 修改已提交的某一次的郵箱和用戶信息
伊谢尔伦
伊谢尔伦 2017-05-02 09:41:02
0
1
691

git 公司用戶名和自己的不同造成的

在提交程式碼的時候,預設使用了全域的git 使用者配置,使用者名稱 xiaoli 然後push 到github了

之後我配置了一下專案的git用戶,使用了xiaowang又push了一次程式碼

如果我現在想改寫第一次的git commit 的使用者信箱該怎麼做那?

我使用

git rebase -i HEAD~2

但是只出現了最後一次的提交資訊。

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

全部回覆(1)
黄舟

我的操作步驟略麻煩,所以備圖以做註解:

首先,透過gitk開啟歷史紀錄,如下圖:

本例中,我試圖修改第三個提交more tests for later change cases對應的使用者名稱/郵箱資訊。

第一步,拷貝第四個提交update readmeSHA1 ID值,如上图选中部分4535579(不必全部,印像中前八位足矣)

第二步,回到命令列,開始執行rebase -i操作,如下:

git rebase -i 4535579

這個時候,git會自動呼叫配置好的編輯器來開啟一個介面,如下:

第三步,修改第一行資料(就是我們預期要修改的那條commit)的pickedit,如下:

保存退出,可以看到以下結果:

帥,這時候我們就可以透過git commit --amend來暢快的修改使用者資訊了,操作如下:

git commit --amend --author="LiLei <lilei@qq.com>" --no-edit

繼續完成rebase

git rebase --continue

再次打開gitk,就可以享受你的結果了:

最後,透過git push --force將篡改歷史紀錄後的結果同步到伺服器

注意,強制更新會有一定風險,就是這個時候如果有其他人也在向伺服器提交程式碼,那會被你的強制更新給覆蓋掉。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板