沿着代碼可能會有非常敏感的信息,如密碼,亞馬遜s3密鑰等,我不希望被髮送到git。推送到git時忽略特定的行
我想這些非常具體的領域要麼被替換爲「祕密」或類似的東西。 另外,是解決這個git私人回購?
沿着代碼可能會有非常敏感的信息,如密碼,亞馬遜s3密鑰等,我不希望被髮送到git。推送到git時忽略特定的行
我想這些非常具體的領域要麼被替換爲「祕密」或類似的東西。 另外,是解決這個git私人回購?
因爲git跟蹤文本而不僅僅是文件,所以用git替換這些行會被git解釋爲代碼的改變,所以它會覆蓋下一次提交中的原始敏感信息。
我在這些情況下做的事情是模塊化我的代碼,以便將這些信息隔離在一個文件中,然後向文件.gitignore
添加一行文件名。
.gitignore
文件是一個模式集合,每行一個文件名,在跟蹤repo中的變化時被git忽略。例如,如果我正在使用php編寫web系統,我創建了一個文件,該文件僅存儲關於連接到數據庫的證書信息(框架也使用這樣做,所以您可以猜測這是一個好習慣。 ..)。所以我使用測試服務器憑證(我的合作者應該知道)或者使用某些虛擬憑證編寫該文件,提交併將其推送到遠程,然後將文件名添加到我的.gitignore
。
另一方面,你有命令git add -p
,它交互式地讓你跳過行,但是這會導致一個文件沒有在你的遠程回購中提到的行,你必須在每次添加時手動跳過行該文件...
一個很好的參考git是Progit。強烈推薦,如果你開始與GIT ...此外,Github's help center是一個非常好的地方看看。
我希望這會對您有所幫助!祝你好運!!!
答案不是把這些東西放在被跟蹤的文件中。我會建議一些重複... – Cascabel
也http://stackoverflow.com/questions/2154948/how-can-i-track-system-specific-config-files-in-a-repo-project/2155355# 2155355 – Cascabel
@ RailsN00b:檢查答案上的編輯。我不認爲你想要我添加的內容,但爲了以防萬一... – Throoze