ฉันต้องการที่จะเปลี่ยนผู้เขียนของการกระทำที่เฉพาะเจาะจงหนึ่งในประวัติศาสตร์ มันไม่ใช่การกระทำสุดท้าย
ฉันรู้เกี่ยวกับคำถามนี้ - ฉันจะเปลี่ยนผู้แต่งคอมมิทคอมได้อย่างไร?
แต่ฉันกำลังคิดเกี่ยวกับบางสิ่งที่ฉันระบุความมุ่งมั่นโดยแฮชหรือแฮชสั้น
ฉันต้องการที่จะเปลี่ยนผู้เขียนของการกระทำที่เฉพาะเจาะจงหนึ่งในประวัติศาสตร์ มันไม่ใช่การกระทำสุดท้าย
ฉันรู้เกี่ยวกับคำถามนี้ - ฉันจะเปลี่ยนผู้แต่งคอมมิทคอมได้อย่างไร?
แต่ฉันกำลังคิดเกี่ยวกับบางสิ่งที่ฉันระบุความมุ่งมั่นโดยแฮชหรือแฮชสั้น
คำตอบ:
การปฏิเสธแบบโต้ตอบจากจุดก่อนหน้านี้ในประวัติศาสตร์กว่าการมอบหมายที่คุณต้องแก้ไข ( git rebase -i <earliercommit>
) ในรายการการคอมมิทที่ถูกรีบูตให้เปลี่ยนข้อความจากpick
เป็นedit
ถัดจากแฮชของข้อความที่คุณต้องการแก้ไข จากนั้นเมื่อคอมไพล์แจ้งให้คุณเปลี่ยนการกระทำใช้สิ่งนี้:
git commit --amend --author="Author Name <email@address.com>" --no-edit
ตัวอย่างเช่นถ้าประวัติกระทำของคุณA-B-C-D-E-F
ด้วยF
เป็นHEAD
และคุณต้องการที่จะเปลี่ยนผู้เขียนC
และD
แล้วคุณจะ ...
git rebase -i B
( นี่คือตัวอย่างของสิ่งที่คุณจะเห็นหลังจากดำเนินการgit rebase -i B
คำสั่ง )
A
ให้ใช้git rebase -i --root
C
และD
จากpick
เป็นedit
:wq
)C
git commit --amend --author="Author Name <email@address.com>"
git rebase --continue
D
git commit --amend --author="Author Name <email@address.com>"
อีกครั้งgit rebase --continue
git push -f
เพื่ออัปเดตที่มาของคุณด้วยคอมมิทที่อัปเดตแล้วgit rebase -i <commit>
vim
เช่นนั้น หากต้องการบันทึกและออกให้พิมพ์ Esc: wq Enter ในทางกลับกันถ้าเป็นนาโนและคุณเห็นสิ่งต่าง ๆ เช่น "WriteOut: ^ O" ที่ด้านล่างคุณควรใช้ Ctrl + O, Enter, Ctrl + X แทน
--no-edit
ตัวเลือก git commit --amend --reset-author --no-edit
จะไม่เปิดตัวแก้ไข มีให้ตั้งแต่ git 1.7.9
git rebase -i --root
คำตอบที่ได้รับการยอมรับสำหรับคำถามนี้คือการใช้ฉลาดอย่างน่าพิศวงของ rebase โต้ตอบ แต่ก็น่าเสียดายที่การจัดแสดงนิทรรศการความขัดแย้งถ้ากระทำที่เรากำลังพยายามที่จะเปลี่ยนผู้เขียนเคยเป็นสาขาซึ่งรวมต่อมาในส่วน. มากกว่าปกติก็ไม่ได้ทำงาน เมื่อจัดการกับประวัติที่ยุ่งเหยิง
เนื่องจากฉันกังวลเกี่ยวกับการเรียกใช้สคริปต์ซึ่งขึ้นอยู่กับการตั้งค่าและการยกเลิกการตั้งค่าตัวแปรสภาพแวดล้อมเพื่อเขียนประวัติคอมไพล์ฉันจึงเขียนคำตอบใหม่ตามโพสต์นี้ซึ่งคล้ายกับคำตอบนี้แต่สมบูรณ์กว่า
การทดสอบและการทำงานต่อไปนี้ต่างจากคำตอบที่เชื่อมโยง สมมติว่ามีความชัดเจนในการอธิบายซึ่ง03f482d6
เป็นความมุ่งมั่นของผู้เขียนที่เรากำลังพยายามแทนที่และ42627abe
เป็นความมุ่งมั่นกับผู้เขียนใหม่
ชำระเงินการกระทำที่เราพยายามแก้ไข
git checkout 03f482d6
ทำการเปลี่ยนแปลงผู้เขียน
git commit --amend --author "New Author Name <New Author Email>"
42627abe
ตอนนี้เรามีใหม่กระทำกับกัญชาสันนิษฐานว่าจะเป็น
ชำระเงินที่สาขาเดิม
แทนที่การคอมมิชชันเก่าด้วยอันใหม่ในเครื่อง
git replace 03f482d6 42627abe
เขียนซ้ำทุกความมุ่งมั่นในอนาคตขึ้นอยู่กับการเปลี่ยน
git filter-branch -- --all
ถอดเปลี่ยนเพื่อความสะอาด
git replace -d 03f482d6
ผลักดันประวัติใหม่ (ใช้เฉพาะ - บังคับถ้าด้านล่างล้มเหลวและหลังจากตรวจสติด้วยgit log
และ / หรือgit diff
) เท่านั้น
git push --force-with-lease
แทนที่จะเป็น 4-6 คุณสามารถลดการกระทำใหม่ได้:
git rebase -i 42627abe
git rebase -i
นี้มีลักษณะทางเลือกที่ชัดเจนมากที่จะน่ากลัว ไม่เคยได้ยินเรื่องนี้git replace
มาก่อน +1
--force-with-lease
-f
มันปลอดภัยกว่า
git filter-branch -- --all
มีการเปลี่ยนแปลงการกระทำในทุกสาขาที่การกระทำดั้งเดิมเข้ามาหากคุณมีข้อมูลประจำตัวไม่เพียงพอ (หรือคุณไม่ต้องการเปลี่ยนประวัติสาขาของผู้อื่น) ก็ควรระวังคำตอบนี้
เอกสาร Github มีสคริปต์ที่มาแทนที่ข้อมูล committer สำหรับการกระทำทั้งหมดในสาขาที่
เรียกใช้สคริปต์ต่อไปนี้จากเทอร์มินัลหลังจากเปลี่ยนค่าตัวแปร
#!/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
ผลักดันประวัติที่แก้ไขไปยัง GitHub:
git push --force --tags origin 'refs/heads/*'
หรือถ้าคุณต้องการที่จะผลักดันการอ้างอิงที่เลือกของสาขาแล้วใช้
git push --force --tags origin 'refs/heads/develop'
clone
/ push
คุณจะจบลงด้วยการสำรองข้อมูล refs/original/
namespace ฉันไม่สามารถหาวิธีลบ namespace นี้ได้อย่างชาญฉลาดดังนั้นฉันจึงสิ้นสุดการลบไดเรกทอรี.git/refs/original
ซึ่งใช้งานได้
git push -f
บังคับการเปลี่ยนแปลงไปสู่ repo
รีเซ็ตอีเมลของคุณเป็นค่ากำหนดทั่วโลก:
git config --global user.email example@email.com
ตอนนี้รีเซ็ตผู้เขียนการคอมมิทของคุณโดยไม่ต้องแก้ไข:
git commit --amend --reset-author --no-edit
It's not last commit.
แล้วพวกamend
มันจะเป็นอย่างไร
git reset HEAD~
วิ่งบรรทัดที่แนะนำของคุณจากนั้นก็กระทำต่อไปด้วยตนเองอีกครั้ง ทำงานได้ดี!
git config --local user.name FirstName LastName
จากนั้นนำไปใช้ในช่วงหกกระทำโดยใช้git config --local user.email first.last@example.com
git rebase --onto HEAD~6 --exec "git commit --amend --reset-author --no-edit" HEAD~6
ในที่สุดผลักดันให้ห่างไกล Git repo git push --force-with-lease
ใช้
คุณสามารถเปลี่ยนผู้แต่งคอมมิทล่าสุดได้โดยใช้คำสั่งด้านล่าง
git commit --amend --author="Author Name <email@address.com>"
อย่างไรก็ตามหากคุณต้องการเปลี่ยนชื่อผู้แต่งมากกว่าหนึ่งชื่อมันก็ค่อนข้างยุ่งยาก คุณต้องเริ่มการทำงานแบบ rebase แบบอินเทอร์แอคทีฟจากนั้นทำเครื่องหมายคอมมิทเป็นการแก้ไขจากนั้นทำการแก้ไขทีละรายการและเสร็จสิ้น
เริ่ม rebasing git rebase -i
กับ มันจะแสดงบางอย่างเช่นนี้
เปลี่ยนpick
คำหลักเป็นedit
สำหรับการยอมรับที่คุณต้องการเปลี่ยนชื่อผู้แต่ง
จากนั้นปิดเครื่องมือแก้ไข สำหรับผู้เริ่มต้นตีEscape
แล้วพิมพ์และการตี:wq
Enter
จากนั้นคุณจะเห็นเทอร์มินัลของคุณไม่มีอะไรเกิดขึ้น จริงๆแล้วคุณกำลังอยู่ในช่วงกลางของการปฏิเสธแบบโต้ตอบ ตอนนี้ได้เวลาแก้ไขชื่อผู้แต่งคอมมิทของคุณโดยใช้คำสั่งด้านบน มันจะเปิดตัวแก้ไขอีกครั้ง เลิกและ rebase git rebase --continue
ดำเนินการกับ ทำซ้ำเช่นเดียวกันสำหรับการนับการกระทำที่คุณต้องการแก้ไข คุณสามารถตรวจสอบให้แน่ใจว่าการปฏิเสธแบบโต้ตอบเสร็จสิ้นเมื่อคุณได้รับNo rebase in progress?
ข้อความ
pick
ดำเนินการและเพิ่มหลังจากแต่ละบรรทัดexec git commit --no-edit --amend --author="MyNewAuthor <my@new-auth.or>"
คำตอบในคำถามที่คุณเชื่อมโยงนั้นเป็นคำตอบที่ดีและครอบคลุมสถานการณ์ของคุณ (คำถามอื่นนั้นกว้างกว่าเนื่องจากเกี่ยวข้องกับการเขียนหลายคอมมิท)
เพื่อเป็นข้ออ้างในการทดลองgit filter-branch
ฉันได้เขียนสคริปต์เพื่อเขียนชื่อผู้แต่งและ / หรืออีเมลของผู้แต่งเพื่อมอบความรับผิดชอบ:
#!/bin/sh
#
# Change the author name and/or email of a single commit.
#
# change-author [-f] commit-to-change [branch-to-rewrite [new-name [new-email]]]
#
# If -f is supplied it is passed to "git filter-branch".
#
# If <branch-to-rewrite> is not provided or is empty HEAD will be used.
# Use "--all" or a space separated list (e.g. "master next") to rewrite
# multiple branches.
#
# If <new-name> (or <new-email>) is not provided or is empty, the normal
# user.name (user.email) Git configuration value will be used.
#
force=''
if test "x$1" = "x-f"; then
force='-f'
shift
fi
die() {
printf '%s\n' "$@"
exit 128
}
targ="$(git rev-parse --verify "$1" 2>/dev/null)" || die "$1 is not a commit"
br="${2:-HEAD}"
TARG_COMMIT="$targ"
TARG_NAME="${3-}"
TARG_EMAIL="${4-}"
export TARG_COMMIT TARG_NAME TARG_EMAIL
filt='
if test "$GIT_COMMIT" = "$TARG_COMMIT"; then
if test -n "$TARG_EMAIL"; then
GIT_AUTHOR_EMAIL="$TARG_EMAIL"
export GIT_AUTHOR_EMAIL
else
unset GIT_AUTHOR_EMAIL
fi
if test -n "$TARG_NAME"; then
GIT_AUTHOR_NAME="$TARG_NAME"
export GIT_AUTHOR_NAME
else
unset GIT_AUTHOR_NAME
fi
fi
'
git filter-branch $force --env-filter "$filt" -- $br
กระทำก่อน:
ในการแก้ไขปัญหาผู้แต่งคุณสามารถใช้คำสั่งจากคำตอบของ @ Amber:
git commit --amend --author="Author Name <email@address.com>"
หรือเพื่อใช้ชื่อและอีเมลของคุณใหม่คุณสามารถเขียน:
git commit --amend --author=Eugen
กระทำหลังจากคำสั่ง:
ตัวอย่างเช่นการเปลี่ยนทั้งหมดเริ่มต้นจาก4025621
:
คุณต้องเรียกใช้:
git rebase --onto 4025621 --exec "git commit --amend --author=Eugen" 4025621
หมายเหตุ: ในการรวมผู้แต่งที่มีช่องว่างเช่นชื่อและที่อยู่อีเมลผู้เขียนจะต้องล้อมรอบด้วยคำพูดที่ใช้ Escape ตัวอย่างเช่น:
git rebase --onto 4025621 --exec "git commit --amend --author=\"Foo Bar <foo@bar.com>\"" 4025621
หรือเพิ่มชื่อแทนนี้ลงใน~/.gitconfig
:
[alias]
reauthor = !bash -c 'git rebase --onto $1 --exec \"git commit --amend --author=$2\" $1' --
จากนั้นเรียกใช้:
git reauthor 4025621 Eugen
git shortlog -e -s
เพื่อตรวจสอบว่าคำสั่งทำงานตามที่คาดผมการตรวจสอบการส่งออกของ
มีอีกหนึ่งขั้นตอนสำหรับคำตอบของแอมเบอร์ถ้าคุณใช้ที่เก็บส่วนกลาง:
git push -f
เพื่อบังคับให้มีการอัพเดตที่เก็บส่วนกลาง
ระวังว่ามีคนไม่มากที่ทำงานในสาขาเดียวกันเพราะอาจทำลายความมั่นคงได้
เมื่อทำgit rebase -i
มีบิตที่น่าสนใจในเอกสารนี้:
หากคุณต้องการที่จะพับสองคนหรือมากกว่ากระทำเป็นหนึ่งแทนที่คำสั่ง
"pick"
สำหรับกระทำสองและต่อมาด้วยหรือ"squash"
"fixup"
หากคอมมิทมีผู้แต่งคนอื่นการคอมมิทแบบพับจะถูกนำมาประกอบกับผู้แต่งคอมมิทก่อน ข้อความคอมมิชชันที่แนะนำสำหรับการคอมมิทแบบ folded คือการรวมข้อความคอมมิทของการคอมมิทครั้งแรกและ"squash"
คำสั่งที่คอมมิทไว้ แต่ละเว้นการคอมมิตของคอมมิทด้วย"fixup"
คำสั่ง
A-B-C-D-E-F
,B
และD
(= 2 การกระทำ)จากนั้นคุณสามารถทำได้:
git config user.name "Correct new name"
git config user.email "correct@new.email"
git commit --allow-empty -m "empty"
git rebase -i B^
B^
B
เลือกแม่ของpick
เป็นsquash
สำหรับสิ่งเหล่านั้นตัวอย่างของสิ่งที่git rebase -i B^
จะให้คุณ:
pick sha-commit-B some message
pick sha-commit-C some message
pick sha-commit-D some message
pick sha-commit-E some message
pick sha-commit-F some message
# pick sha-commit-empty1 empty
# pick sha-commit-empty2 empty
เปลี่ยนเป็น:
# change commit B's author
pick sha-commit-empty1 empty
squash sha-commit-B some message
# leave commit C alone
pick sha-commit-C some message
# change commit D's author
pick sha-commit-empty2 empty
squash sha-commit-D some message
# leave commit E-F alone
pick sha-commit-E some message
pick sha-commit-F some message
มันจะแจ้งให้คุณแก้ไขข้อความ:
# This is a combination of 2 commits.
# The first commit's message is:
empty
# This is the 2nd commit message:
...some useful commit message there...
และคุณสามารถลบสองสามบรรทัดแรกได้
ในการผลักดันการEugen Konkovการตอบสนองที่จะเริ่มต้นจากรากกระทำการใช้--root
ธง --no-edit
ธงเป็นประโยชน์มากเกินไป
git rebase --root --exec "git commit --amend --author='name <email>' --no-edit"
ค้นหาวิธีที่สามารถเปลี่ยนผู้ใช้ได้อย่างรวดเร็วและไม่มีผลข้างเคียงกับการกระทำของผู้อื่น
git config user.name "New User"
git config user.email "newuser@gmail.com"
git log
git rebase -i 1f1357
# change the word 'pick' to 'edit', save and exit
git commit --amend --reset-author --no-edit
git rebase --continue
git push --force-with-lease
git log
git config user.name "New User"
git config user.email "newuser@gmail.com"
git rebase -i 1f1357
# change word pick to edit, save and exit
edit 809b8f7 change code order
pick 9baaae5 add prometheus monitor kubernetes
edit 5d726c3 fix liquid escape issue
edit 3a5f98f update tags
pick 816e21c add prometheus monitor kubernetes
Stopped at 809b8f7... change code order
You can amend the commit now, with
git commit --amend
Once you are satisfied with your changes, run
git rebase --continue
refs/heads/master.
# each continue will show you an amend message
# use git commit --amend --reset-author --no-edit to comfirm
# use git rebase --skip to skip
git commit --amend --reset-author --no-edit
git rebase --continue
git commit --amend --reset-author --no-edit
...
git rebase --continue
Successfully rebased and updated refs/heads/master.
git push --force-with-lease
หากการส่งมอบที่คุณต้องการเปลี่ยนไม่ใช่การส่งมอบครั้งสุดท้ายให้ทำตามขั้นตอนด้านล่าง หากการกระทำของคุณอยู่ในสาขาที่แตกต่างกันก่อนอื่นให้สลับไปที่สาขานั้น
git checkout branch_name
ค้นหาการกระทำก่อนส่งคำสั่งที่คุณต้องการเปลี่ยนและค้นหาแฮช จากนั้นออกคำสั่ง rebase
git rebase -i -p hash of commit
จากนั้นตัวแก้ไขจะเปิดขึ้นและป้อน 'แก้ไข' สำหรับข้อผูกพันที่คุณต้องการเปลี่ยนแปลง ปล่อยให้คนอื่น ๆ ที่มีตัวเลือก 'เลือก' เริ่มต้น เมื่อเปลี่ยนแล้วใส่รหัส 'esc' และ wq! เพื่อออก
จากนั้นออกคำสั่งคอมไพล์ด้วยตัวเลือกการแก้ไข
git กระทำ - แก้ไข --author = "อีเมลชื่อผู้ใช้" - ไม่แก้ไข
จากนั้นออกคำสั่งต่อไปนี้
git rebase - ยุติ
เมื่อผู้เขียนคอมมิชชันถูกอัพเดตในที่เก็บโลคัลให้ดันการเปลี่ยนแปลงไปยังที่เก็บรีโมต
นอกจากนี้ยังมีวิธีการขี้เกียจกับปัญหานี้โดยเฉพาะอย่างยิ่งถ้าคุณมีมากกว่าหนึ่งยอมรับว่าคุณต้องการเปลี่ยน ในกรณีของฉันฉันมีสาขาใหม่ที่มีความมุ่งมั่นหลายอย่างกับผู้เขียนผิดดังนั้นสิ่งที่ช่วยฉัน:
ไปที่สาขาเดิมของคุณ:
git checkout develop
สร้างสาขาใหม่จาก:
git checkout -b myFeature develop
ผสานโดยไม่ต้องส่งข้อมูลเป็นหนึ่งคอมมิชชัน:
git merge --no-commit --squash branchWrongAuthor
คุณอาจต้องการเปลี่ยนสเตจ:
git stage .
เปลี่ยนชื่อของผู้เขียนและยอมรับการเปลี่ยนแปลง:
git commit --amend --author "New Author Name <New Author Email>" -m "new feature added"
และนั่นคือคุณสามารถผลักดันการเปลี่ยนแปลง
git push
คุณสามารถลบสาขาที่มีผู้เขียนผิดหลังจากนั้น
ขั้นตอนในการเปลี่ยนชื่อผู้แต่งหลังจากคอมมิชชันพุช
git rebase i HEAD ~ 10 (10 คือจำนวนการกระทำทั้งหมดที่จะแสดงเมื่อ rebase)
If you Get anything like below
fatal: It seems that there is already a rebase-merge directory, and
I wonder if you are in the middle of another rebase. If that is the
case, please try
git rebase (--continue | --abort | --skip)
If that is not the case, please rm -fr
".git/rebase-merge"
and run me again. I am stopping in case you still have something
valuable there.
จากนั้นพิมพ์ "git rebase - ยุติ" หรือ "git rebase --abort" ตามความต้องการของคุณ
pick 897fe9e simplify code a little
pick abb60f9 add new feature
pick dc18f70 bugfix
ตอนนี้คุณต้องเพิ่มคำสั่งด้านล่างด้านล่างของคอมมิทที่คุณต้องการแก้ไขเช่นด้านล่าง
pick 897fe9e simplify code a little
exec git commit --amend --author 'Author Name <author.name@mail.com>'
pick abb60f9 add new feature
exec git commit --amend --author 'Author Name <author.name@mail.com>'
pick dc18f70 bugfix
exec git commit --amend --author 'Author Name <author.name@mail.com>'
แค่นี้ก็กด ESC,: wq และคุณพร้อมแล้ว
จากนั้นคอมไพล์ต้นกำเนิด HEAD: BRANCH NAME -f [โปรดดูแล -f Force push]
ชอบ git push -f
หรือgit push origin HEAD: dev -f
git push
คำสั่งได้ไหม
การเปลี่ยนชื่อผู้ส่งและอีเมลของคุณทั่วโลก:
$ git config --global user.name "John Doe"
$ git config --global user.email "john@doe.org"
การเปลี่ยนชื่อผู้ส่งและอีเมลของคุณต่อที่เก็บ:
$ git config user.name "John Doe"
$ git config user.email "john@doe.org"
การเปลี่ยนแปลงข้อมูลผู้แต่งเพียงเพื่อความมุ่งมั่นต่อไป:
$ git commit --author="John Doe <john@doe.org>"
คำแนะนำ : สำหรับสถานการณ์อื่น ๆ และอ่านข้อมูลเพิ่มเติมอ่านอ้างอิงโพสต์
หากสิ่งที่คุณต้องการเปลี่ยนแปลงคือ AUTHOR of THE LAST และไม่มีผู้อื่นใช้ที่เก็บของคุณคุณสามารถยกเลิกการคอมมิทครั้งล่าสุดด้วย:
git push -f origin last_commit_hash:branch_name
เปลี่ยนชื่อผู้แต่งของการกระทำของคุณด้วย:
git commit --amend --author "type new author here"
ออกจากเครื่องมือแก้ไขที่เปิดขึ้นและดันรหัสของคุณอีกครั้ง:
git push
สำหรับข้อความยืนยันการรวมฉันพบว่าฉันไม่สามารถแก้ไขได้โดยใช้rebase
อย่างน้อยบน gitlab มันแสดงให้เห็นว่าการรวมเป็นการกระทำ แต่ฉันไม่สามารถ rebase ลงบน #sha ได้ ฉันพบว่าโพสต์นี้มีประโยชน์
git checkout <sha of merge>
git commit --amend # edit message
git rebase HEAD previous_branch
โค้ดสามบรรทัดนี้ทำงานเพื่อเปลี่ยนข้อความการยอมรับรวม (เช่นผู้เขียน)
คุณสามารถใช้คำสั่งเหล่านี้ได้จากหน้าทางการของ GitHub
https://help.github.com/en/github/using-git/changing-author-info
นี่คือคำสั่ง
#!/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
ที่นี่คุณสามารถเปลี่ยนอีเมลเก่าเป็นชื่อผู้ใช้ใหม่และที่อยู่อีเมล