用git commit進行了一次版本提交,並推送到了遠端倉庫,若是想修改此次提交者使用者名稱郵箱可以這樣操作:
git commit --amend --author=
"newname "
#丟棄上一次版本提交,然後進行一次同上次一樣的新版本提交(兩次提交的commit id不同)
git push -f origin master #-f引數為強制推送到遠端倉庫,因為本地的上一次提交丟失了,而遠端倉庫還有,所以不加-f引數會報錯說本地比遠端少乙個提交版本。
#要慎用這個-f引數強制推送命令,可能會覆蓋遠端倉庫的提交版本,資訊會完全丟失(儘管本地不會丟失reset回的版本)。
可以在本地用以下命令同步到指定的版本:
git reset --hard
之後用git log檢視版本後,比這個版本更新的版本就不會顯示,但是這些版本並沒有完全丟失(而是隱藏在本地)。
若通過git reflog檢視到這些隱藏版本的commit id,還可以用以上命令同步回去。(僅限本地)
用push -f推送到遠端倉庫,那些隱藏的版本並不會推送到遠端倉庫,也就是說,遠端倉庫只會記錄git log顯示的版本。
再用git clone獲取遠端倉庫,即使知道commit id,之前的隱藏版本也無法恢復(因為那些版本只隱藏在上乙個本地)。
git 修改使用者名稱以及提交郵箱
不過由於我們把remote 倉庫放在這類雲端,而提交的驗證方式則是通過使用者名稱和密碼。因此,我們有時會疏忽掉提交郵箱和使用者名稱的問題。因為,能夠輸入雲端的使用者名稱和密碼,就能夠提交上去。這個時候,如果我在其他的pc上想要提交,則需要修改一些本地提交到雲端的使用者名稱和郵箱。這樣才能保證提交上去...
Git 修改使用者名稱以及提交郵箱
問題背景 驗證當前本地屬性 怎麼知道本地有設定?git config local list看一眼。怎麼設定本地屬性?git config user.name email。解決方法 法一 使用命令修改git的使用者名稱和提交的郵箱 1 修改全域性 如果你要修改當前全域性的使用者名稱和郵箱時,需要在上面...
Git 修改使用者名稱以及提交郵箱
驗證當前本地屬性 怎麼知道本地有設定?git config local list看一眼。怎麼設定本地屬性?git config user.name email。解決方法 法一 使用命令修改git的使用者名稱和提交的郵箱 1 修改全域性 如果你要修改當前全域性的使用者名稱和郵箱時,需要在上面的兩條命令...