第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何將提交作者更改為一個特定提交?

如何將提交作者更改為一個特定提交?

Git
犯罪嫌疑人X 2019-07-01 10:52:12
如何將提交作者更改為一個特定提交?我想更改歷史上一個特定提交的作者。這不是最后一次承諾。我知道這個問題-如何在git中更改提交的作者?但我在想一些事情,我用散列或短時散列來識別提交。
查看完整描述

3 回答

?
心有法竹

TA貢獻1866條經驗 獲得超5個贊

在歷史記錄中比需要修改的提交早一點的交互式重基(git rebase -i <earliercommit>)。在重定向提交的列表中,將文本更改為pickedit在要修改的散列旁邊。然后,當git提示您更改提交時,請使用以下命令:

git commit --amend --author="Author Name <email@address.com>"

例如,如果提交歷史記錄是A-B-C-D-E-F帶著FHEAD,而您想要更改CD那你就.。

  1. 指定

    git rebase -i B (下面是執(zhí)行git rebase -i B命令)

    • 如果你需要編輯

      A

      ,使用

      git rebase -i --root

  2. 為這兩種情況更改行

    C

    D

    從…

    pick

    edit

  3. 一旦重基開始,它將首先在

    C

  4. 你會

    git commit --amend --author="Author Name <email@address.com>"

  5. 然后

    git rebase --continue

  6. 它會在

    D

  7. 那你就會

    git commit --amend --author="Author Name <email@address.com>"

    再一次
  8. git rebase --continue

  9. 重新基地就完成了。
  10. 使用

    git push -f

    若要使用更新的提交更新源,請執(zhí)行以下操作。


查看完整回答
反對 回復 2019-07-01
?
慕沐林林

TA貢獻2016條經驗 獲得超9個贊

這個接受答案這個問題是一個非常巧妙地使用交互式重基的方法,但不幸的是,如果我們試圖更改以前的作者在隨后被合并的分支上的提交,那么它就會顯示出沖突。更普遍地說,當處理混亂的歷史時,它不起作用。

由于我擔心運行依賴于設置和取消設置環(huán)境變量來重寫git歷史的腳本,所以我編寫了一個基于這個職位它類似于這個答案但更完整。

以下是測試和工作,不像鏈接答案。為了清楚地闡明03f482d6是我們試圖替換的提交者,并且42627abe是與新作者的承諾。

  1. 簽出我們試圖修改的提交。

    git checkout 03f482d6
  2. 讓作者改變。

    git commit --amend --author "New Author Name <New Author Email>"

    現在,我們有一個假設為Hash的新提交42627abe.

  3. 檢查原來的分支。

  4. 將舊的提交替換為本地的新提交。

    git replace 03f482d6 42627abe
  5. 基于替換重寫所有未來提交。

    git filter-branch -- --all
  6. 為保持清潔而拆下更換物。

    git replace -d 03f482d6
  7. 推送新的歷史記錄(只有在下面失敗時才使用強制,并且只有在使用git log和/或git diff).

    git push --force-with-lease

與4-6不同,您只需重新定位到新提交:

git rebase -i 42627abe


查看完整回答
反對 回復 2019-07-01
?
慕絲7291255

TA貢獻1859條經驗 獲得超6個贊

GitHub文檔包含一個腳本,用于替換分支中所有提交的提交者信息。.

#!/bin/shgit 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


查看完整回答
反對 回復 2019-07-01
  • 3 回答
  • 0 關注
  • 569 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號