內(nèi)網(wǎng)提交需要校驗企業(yè)郵箱,但有時郵箱設置錯誤導致 commit
的郵箱有問題,此時可以通過修改已提交記錄中的郵箱來修復,無需重新提交。
經(jīng)過檢索,發(fā)現(xiàn)兩種方法,分別適用于修改一次和修改多次,引文在最后都有注明。
修改最近一次提交的郵箱
$gitcommit--amend--author="NewAuthor"
批量修改郵箱
使用該腳本,替換其中 [Your Old Email]
[Your New Author Name]
[Your New Email]
之后在 git 目錄中執(zhí)行即可。
#!/bin/sh
gitfilter-branch--env-filter'
an="$GIT_AUTHOR_NAME"
am="$GIT_AUTHOR_EMAIL"
cn="$GIT_COMMITTER_NAME"
cm="$GIT_COMMITTER_EMAIL"
if["$GIT_COMMITTER_EMAIL"="[YourOldEmail]"]
then
cn="[YourNewAuthorName]"
cm="[YourNewEmail]"
fi
if["$GIT_AUTHOR_EMAIL"="[YourOldEmail]"]
then
an="[YourNewAuthorName]"
am="[YourNewEmail]"
fi
exportGIT_AUTHOR_NAME="$an"
exportGIT_AUTHOR_EMAIL="$am"
exportGIT_COMMITTER_NAME="$cn"
exportGIT_COMMITTER_EMAIL="$cm"
Q&A
-
A previous backup already exists in refs/original/
Cannotcreateanewbackup.
Apreviousbackupalreadyexistsinrefs/original/
Forceoverwritingthebackupwith-f
出現(xiàn)這一句說明之前曾經(jīng)執(zhí)行過 git filter-branch
,在 refs/original/
有一個備份,這個時候只要刪掉那個備份即可,刪除備份命令為:
$gitupdate-ref-drefs/original/refs/heads/master
#或
$gitfilter-branch-f--tree-filter-f'rm-ftest'----all
參考文獻
-
git 修改提交作者和郵箱
-
git 修改歷史提交的用戶名和郵箱
審核編輯 :李倩
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
原文標題:如何快速批量修改 Git 提交記錄中的用戶信息
文章出處:【微信號:良許Linux,微信公眾號:良許Linux】歡迎添加關注!文章轉(zhuǎn)載請注明出處。
相關推薦
Git 支持使用 GPG 來簽名提交記錄。但 GPG 用起來很復雜,一直賴得搞。
發(fā)表于 06-16 16:21
?531次閱讀
git config 第一次使用git或者剛安裝的git時,使用此命令設置身份Name 和 Eamail 地址。并且每次提交時會使用此信息。
發(fā)表于 12-11 13:53
?874次閱讀
git commit -m xxx(xxx代表備注信息)
6.查看提交記錄git log
7.查看分支g
發(fā)表于 03-21 16:23
這兩天試著使用了git的推送,把本地的文件上傳到倉庫,中間遇到點問題,就是本地的倉庫文件和遠端的倉庫相比,多出來一些文件,是我自己新產(chǎn)生的,于是push不是很順利,特此記錄下來,主要參考了如
發(fā)表于 12-17 09:20
本帖最后由 iysheng 于 2017-2-19 23:09 編輯
編程,經(jīng)常會修改代碼,不管是將代碼托管到本地還是網(wǎng)上,使用git進行版本控制無疑是比較流行的方法。今天我就記錄下如何創(chuàng)建
發(fā)表于 02-17 16:18
Protel DXP批量修改如何使用
Protel DXP批量修改的某些方面比Protel 99se還要簡單,在弄清楚Protel DXP批量
發(fā)表于 07-02 10:09
?3821次閱讀
。有三種 Git 命令可以幫我們查看記錄,痞子衡為大家一一講解: 1. 查看本地歷史提交 git log git log 是最直接的查看歷史
發(fā)表于 12-05 17:22
?756次閱讀
假設我們提交 feature 1.3 的時候,忘記了一個配置文件 config.yaml, 不想修改 log,不想添加新的 commit-id,那下面的這個命令就非常好用了
發(fā)表于 05-12 16:40
?474次閱讀
"origin"已經(jīng)有了 2 個提交,如圖。 現(xiàn)在我們在這個分支做一些修改,然后生成兩個提交(commit)。 ? $?vi?file.txt$?git?commit$?vi?othe
發(fā)表于 07-05 09:54
?610次閱讀
記錄每次更新到倉庫 工作目錄下的每一個文件都不外乎這兩種狀態(tài):已跟蹤 或 未跟蹤。 已跟蹤包括:已提交(committed)、已修改(modified) 和 已暫存(staged) 檢查當前文件狀態(tài)
發(fā)表于 07-22 11:11
?516次閱讀
查看提交歷史 在提交了若干更新,又或者克隆了某個項目之后,你也許想回顧下提交歷史。完成這個任務最簡單而又有效的工具是 git log 命令。 我們使用一個非常簡單的 “simplegi
發(fā)表于 07-22 11:21
?903次閱讀
的提交命令來重新提交: $ git commit --amend 這個命令會將暫存區(qū)中的文件提交。如果自上次
發(fā)表于 07-22 11:29
?574次閱讀
像 git stash 和 git stash pop 這樣的命令是用來擱置(藏匿)和恢復我們工作目錄中的變化的。在本教程中,我們將學習如何在 Gi
發(fā)表于 10-09 14:09
?952次閱讀
git add命令用于將修改的文件添加到下一次提交的暫存區(qū)。你可以指定要添加的文件git add命令用于將修改的文件添加到下一次
發(fā)表于 10-26 10:27
?219次閱讀
不需要這些文件了,想要批量處理掉,所以記錄一下用命令行一次性丟棄未跟蹤文件的方法,同時也記錄一下撤銷push請求的git記錄。
發(fā)表于 12-20 09:44
?408次閱讀
評論