695 字
3 分鐘
Git 初始專案上傳與 Commit Email 修正流程
2026-10-02
結論
Git 專案首次上傳時,先設定正確的使用者資訊;若 Push 後才發現 Commit 的 Email 錯誤,可用 git commit --amend --reset-author 修正最近一次 Commit,再安全地強制更新遠端。
適合用在哪裡
- 本機專案第一次上傳到 GitHub
- Commit 後發現作者名稱或 Email 設定錯誤
- GitHub Contribution 沒有正確對應到帳號
- 只需要修正「最近一次 Commit」的作者資訊
流程步驟
1. 初始化 Git 專案
在專案目錄初始化 Git,加入所有檔案,並設定 GitHub Repository 為遠端來源。
git initgit add .git remote add origin https://github.com/user-name/project-name.gitgit branch -M maingit branch -M main 會將目前分支重新命名為 main,避免本機與遠端預設分支名稱不同。
2. 設定 Commit 作者資訊並上傳
第一次 Commit 前,先確認 user.name 與 user.email 正確,否則 Commit 會記錄錯誤的作者資訊。
# 設定目前 Repository 的 Git 作者資訊git config user.name "user-name"git config user.email "user-email"
# HTTPS Credential 依完整 Repository 路徑區分git config credential.useHttpPath true
# 建立第一次 Commitgit commit -m "Initial commit"
# 上傳到 GitHubgit push -u origin main如果希望設定套用到所有 Repository,可以加上 --global;只想影響目前專案則不要加。
git config --global user.name "user-name"git config --global user.email "user-email"3. 修正已 Commit 的 Email
如果已經 Commit,甚至已經 Push,才發現作者 Email 錯誤,先把 Git 設定改成正確資料,再重建最近一次 Commit 的作者資訊。
# 先設定正確作者資訊git config user.name "user-name"git config user.email "user-email"
# 使用目前設定重新建立最近一次 Commit 作者資訊git commit --amend --reset-author --no-edit
# 確認修改結果git log -1 --format="%an <%ae>"
# 更新遠端 Commitgit push --force-with-lease origin main-no-edit會保留原本的 Commit Message;-reset-author則使用目前 Git 設定重新寫入作者資訊。
補充
git commit --amend會產生新的 Commit Hash,已 Push 的 Commit 因此需要強制更新遠端。- 優先使用
-force-with-lease,比直接-force安全,可降低覆蓋別人遠端更新的風險。 - 上述方式只修正「最近一次 Commit」;如果錯誤 Email 存在於多筆歷史 Commit,需要改寫 Git History,不能只靠一次
-amend。
指令 / 範例整理
Click to expand
# 初始化專案git initgit add .git remote add origin https://github.com/user-name/project-name.gitgit branch -M main
# 設定作者git config user.name "user-name"git config user.email "user-email"git config credential.useHttpPath true
# 第一次 Commit / Pushgit commit -m "Initial commit"git push -u origin main
# 修正最近一次 Commit 作者資訊git commit --amend --reset-author --no-edit
# 確認 Authorgit log -1 --format="%an <%ae>"
# 更新遠端git push --force-with-lease origin main收尾
第一次 Push 前先確認 user.name 與 user.email,能省掉後面改 Commit History 的麻煩;真的傳錯了,amend + force-with-lease 就是修正最近一次 Commit 最直接的做法。
Git 初始專案上傳與 Commit Email 修正流程
https://joyceowo.github.io/posts/3eda78ea09fa809cb3bfdf649a817149/