中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么修改git全部已提交的用戶名和郵箱

發布時間:2021-08-02 22:19:36 來源:億速云 閱讀:448 作者:chen 欄目:大數據

這篇文章主要講解了“怎么修改git全部已提交的用戶名和郵箱”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“怎么修改git全部已提交的用戶名和郵箱”吧!

即:修改git所有commit中的用戶名和email

配置方法:

git config --global user.email "youremail@google.com"
git config --global user.name "your name"

但是補救措施只對以后的 commit 起效。如果想修改之前的作者信息,Github 給出了可靠的官方指南:Changing author info。我打算照做的時候卻發現第三步要復制粘貼的腳本怎么也找不到…后來意識到是 Gist 被墻了 = = 魂淡!

掛上 SS 終于看到了完整腳本…把我翻譯后的完整步驟貼到下面來。

 

改變作者信息

為改變已經存在的 commit 的用戶名和/或郵箱地址,你必須重寫你 Git repo 的整個歷史。

警告:這種行為對你的 repo 的歷史具有破壞性。如果你的 repo 是與他人協同工作的,重寫已發布的歷史是一種不好的習慣。僅限緊急情況執行該操作。

 

使用腳本改變你 repo 的 Git 歷史

我們寫了一段能把 commit 作者舊的郵箱地址修改為正確用戶名和郵箱的腳本。

注意:執行這段腳本會重寫 repo 所有協作者的歷史。完成以下操作后,任何 fork 或 clone 的人必須獲取重寫后的歷史并把所有本地修改 rebase 入重寫后的歷史中。

在執行這段腳本前,你需要準備的信息:

  • 欲修改的舊的郵箱地址

  • 正確的用戶名和郵箱地址

1.打開終端(Mac 或 Linux 用戶)或命令行(Windows 用戶)。

2.創建一個你的 repo 的全新裸 clone (repo.git 替換為你的項目,下同)
git clone --bare https://github.com/user/repo.git
cd repo.git

3.復制粘貼腳本,并根據你的信息修改以下變量:
OLD_EMAIL
CORRECT_NAME
CORRECT_EMAIL

腳本:

#!/bin/sh

git filter-branch --env-filter '

OLD_EMAIL="your-old-email@example.com"
CORRECT_NAME="Your Correct Name"
CORRECT_EMAIL="your-correct-email@example.com"

if [ "$GIT_COMMITTER_EMAIL" = "$OLD_EMAIL" ]
then
    export GIT_COMMITTER_NAME="$CORRECT_NAME"
    export GIT_COMMITTER_EMAIL="$CORRECT_EMAIL"
fi
if [ "$GIT_AUTHOR_EMAIL" = "$OLD_EMAIL" ]
then
    export GIT_AUTHOR_NAME="$CORRECT_NAME"
    export GIT_AUTHOR_EMAIL="$CORRECT_EMAIL"
fi
' --tag-name-filter cat -- --branches --tags
 

4.按 Enter 執行腳本。

5.查看新 Git 歷史有沒有錯誤。

6.把正確歷史 push 到 Github:(push 有困難時記得修改 DNS 或者搭×××)
git push --force --tags origin 'refs/heads/*'

7.清除臨時 clone。
cd ..
rm -rf repo.git

All done!現在遺失的 contribution 都回來啦~新的一年記得在 Github 上勤打卡~

感謝各位的閱讀,以上就是“怎么修改git全部已提交的用戶名和郵箱”的內容了,經過本文的學習后,相信大家對怎么修改git全部已提交的用戶名和郵箱這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

git
AI

界首市| 金昌市| 延长县| 台湾省| 花莲县| 晋江市| 铜梁县| 塔河县| 甘德县| 奈曼旗| 吉安县| 沂源县| 昭平县| 玉屏| 宁德市| 襄垣县| 康定县| 喀什市| 淮南市| 沁水县| 瑞丽市| 陕西省| 彰化市| 池州市| 沁阳市| 木兰县| 正定县| 观塘区| 榕江县| 郯城县| 荔波县| 五大连池市| 行唐县| 娄底市| 泗水县| 西乌| 邹城市| 棋牌| 信丰县| 华亭县| 克什克腾旗|