2016-12-27 75 views
0

我想用git只提交文件的一部分,有沒有辦法做到這一點?如何只用git跟蹤文件的一個塊?

+0

簡短答案是「否」:提交是文件的快照(並且是*整個*文件)。但是,如果你的意思是你對一個文件做了多個獨立的更改,並且你想提交一個具有快照的整個文件,其中只有*一個*這些修改*應用*,那麼是的,那裏是一種方式來做到這一點。不過,目前還不清楚這是不是你要問的。 – torek

回答

0

請問爲什麼你只想提交文件的一部分?

我想不出一個我不想提交整個文件的實例。 (您要提交的更改可能依賴於您對本地文件進行的更改,而您未對其進行提交併誤導其他人在您的分支上工作)。

如果您不想覆蓋您的代碼認爲是正確的,那麼我會建議打開一個分支,以便在您確定需要更改之前不要覆蓋該代碼。

$ git checkout -b <branch-name> 

如果您正在使用GitHub上,你可以打開一個拉請求更改與

$ git push origin <branch-name> 

然後在你有一個問題關於具體的行註釋和@mention原作者,使他們能夠澄清意圖。

2

Git通過維護目錄的快照來跟蹤目錄的內容。 (見「git from the bottom up」)。所以你不能只跟蹤文件的一部分直接

但是你可以是什麼構建通過連接幾個跟蹤和未跟蹤文件的文件。這可以通過諸如makescons之類的構建工具或通過簡單的shell腳本或批處理文件來完成。未跟蹤的源文件和生成的文件應該在gitignore文件中列出,以便git不會跟蹤它們。