2012-09-09 128 views
5

我目前有一個個人的git倉庫,用於我一直在研究的一些軟件。存儲庫用於在其中一些配置文件中包含其他人的個人信息,這些配置文件在git中很有用,因爲它們可用於跟蹤並幫助記錄配置文件的工作方式。 git repo還顯示了配置文件隨着時間的推移如何變化,在哪個版本需要什麼。我最近希望將項目發佈到github上,所以我創建了一個分支並從頭部刪除個人信息,用佔位符替換每個項目。如何「審查」git存儲庫的歷史記錄?

除了回到每一個修訂和「改變歷史」之外,是否有一種方法可以讓我在所有發生的事情中「檢查」舊信息(一次改變它),全部替換爲新信息所以如果有人將其推倒,他們會看到佔位符而不是個人信息?

+0

刪除'.git'文件夾(所有的歷史記錄),並開始使用現在安全的文件嗎? http://stackoverflow.com/q/9683279/139010 –

+0

「git repo還顯示了配置文件隨着時間的推移如何變化,在哪個版本需要什麼。」這意味着我希望保留*一些*歷史記錄,因爲我發現它有助於未來的發展,但其中大部分內容是無關緊要的,並暴露出身份信息。 – DavidJFelix

回答

6

你可以在其上運行一個git過濾器分支,它會修改分支的歷史記錄並刪除你想要的東西。然後,您可以在其位置添加一個示例(佔位符)文件。結帳github's remove-sensitive-data help page

+0

這會簡單地過濾配置文件,還是逐行過濾修訂版?在第一次修訂中說,配置文件表示「John Doe」,但在第二次修訂中它說「名稱:John Doe」。我可以過濾它,以便第一個配置文件顯示「[Name]」,第二個顯示「Name:[Name]」?我想保留編輯的歷史記錄,但不保留我認爲無關緊要且無需分享的信息。 – DavidJFelix

+0

@DavidJFelix filter-branch可以對filter-branch的--tree-filter內容做任何*操作,但是你將不得不編寫自己的腳本或程序來實際完成每個修訂所需的修改。 – wjl

+0

@wjl好的。這似乎是合理的。這樣,我會將此標記爲已接受。我可以處理其餘的事情。 – DavidJFelix

相關問題