2012-12-04 19 views
2

Git有一個很好的工具來分階段(和稍後提交)only partial changes in a file。我正在尋找一種反向選項:強制git登臺並將整個文件放在一個大塊中:「我知道整個文件真的發生了改變 - 不要試圖在零件中做這件事」我如何強制分段/提交整個文件而不是區塊

這個選項會如果文件發生了很大的變化,那麼在版本之間只有一些空白是常見的情況下才是實用的。據我所知,git總是嘗試將文件仍然放在hunk中,並使用通用(空白行)作爲分割點。

+1

你是如何開始升級改變的過程?默認情況下,'git add'會對整個文件起作用。 – qqx

回答

0

git只存儲完整文件(至少從前端的角度來看 - 後端對象數據庫在創建包文件時會使用增量存儲的效率作爲存儲效率的一些技巧,但是來自和來自對象數據庫的事務是隻在整個文件單元中)。當git add -p「存儲」「部分更改」時,git實際上正在爲您生成一個全新的文件,它只包含您指定的更改並存儲整個文件。根據您的工作流程,這是有時會批評git的事情之一,因爲您可以實際存儲在開發過程中從未真正存在且尚未經過測試以確保其編譯和/或正常工作的文件。

+0

感謝您的評論和回答,我認爲這很好地回答了這個問題。似乎我真的誤解了git如何存儲文件中的差異和變化。謝謝! –

相關問題