2012-02-22 130 views
3

我有一個git倉庫,我是唯一的提交者,迄今爲止,這已經發布在github上。我發現一些提交,從另一臺計算機完成,有錯誤的作者信息。我的想法是從github中刪除存儲庫,重寫歷史並將其重新發布爲新的。 對於這樣的目的,我創建了一個簡單的腳本:git作者重命名不工作

git filter-branch --commit-filter ' 
      GIT_COMMITTER_NAME="Author Name"; 
      GIT_AUTHOR_NAME="Author Name"; 
      GIT_COMMITTER_EMAIL="email"; 
      GIT_AUTHOR_EMAIL="email"; 
      git commit-tree "[email protected]"; 

    ' HEAD 

應重命名所有的提交。問題是混帳與

Cannot rewrite branch(es) with a dirty working directory. 

回覆,但一個git地位爲我提供

# On branch master 
nothing to commit (working directory clean) 

約我失去了什麼你知道嗎?將不勝感激任何關於如何重命名所有提交而不丟失歷史的建議。

+0

你使用的是什麼版本的Git?請參閱http://stackoverflow.com/a/9246622/6309 – VonC 2012-02-22 07:12:46

+2

嘗試發出'git reset --hard'來清理工作樹。 – Eduardo 2012-02-22 07:14:27

+0

似乎重置解決了問題。我已經在運行一個更新的git版本(1.7.2.5)。 – fluca1978 2012-02-22 09:21:33

回答

0

嘗試通過運行git clean -dxf刪除工作目錄中的未跟蹤文件。

此外,您需要在提交過濾器中導出這些變量。如果你不這樣做,Git將不會看到它們,所以它們不會改變Git的默認行爲。