作者:
denru01 (阿儒)
2016-07-24 04:42:25其實已經用了GIT一陣子了,
常用的功能與指令也學的差不多,
應該可以說"懂的怎麼用GIT的功能",
但我一直覺得我只是在亂用一通,
實際應用上一團糟XD
所以來發文請教各位前輩遇到下述的這些問題,
都是怎麼處理的.
1. 檔案裡面有實驗的參數或是路徑.
比方說,
libraryPath = '/u/homes/abc/xxx';
speedNow = 3;
其它東西基本上是不變的,
只是這個路徑會隨著用不同電腦不同而不同,
而speedNow是實驗參數,
可能會試用不同的參數,
看跑出來的結果如何.
即使其它地方不動,
只要這兩個修改了,
又要重新commit,
然後另一台電腦如果pull就毀了.
目前試過:
a. 單獨使用一個.ini file來存這些參數,
但如果這個.ini file有commit進去,
而又會不斷的修改內容,
這件事就又發生了.
b. 寫一個.ini.example,
然後要用的時候複製example成.ini,
但不commit這個.ini.
但問題是,
萬一要加參數的話,
就要改很多個檔案,
也可能會出現.ini.example與實際使用的.ini不一致的情況.
2. Commit的頻率與log撰寫.
目前一直抓不到commit的節奏,
到底是改一個function就要commit呢?
還是完整的完成這個feature再commit呢?
有看過一個說法是說絕對不要commit不會work的東西上去,
但有時要改到會work要改很多地方,
萬一中間出事就沒救了.
加上我log一直都是寫的很完整,
都要dif一下, 一一看改了什麼,
再寫進log,
導致後來都很懶的commit,
version control型同虛設.
比方說如果這次commit改了很多個檔案,
是要一一說每個檔案改了什麼嗎?
3. 大檔案的存在.
跑程式需要一些input,
有些input非常巨大,
但沒有這些檔案又無法跑.
現在的做法就是,
只commit code檔,
這些input單獨包成一包,
每個有使用code的地方都傳一份,
如果input有修改,
就要重新打包,
重新上傳所有的位置.
非常沒有效率,
而且有時會忘記通知那人input data有更新了...
4. 改名與檔案結構改變.
有時code寫到後來會變的很亂,
所以會想把檔案重新分類一下,
並改個名,
這個就不太知道有什麼簡單的方法可以達成了...
5. Log寫錯或是忘記commit某些檔案.
有時改了很多個檔案,
但忘記commit某一些改過的檔案,
或是Log寫錯.
麻煩有經驗的前輩指導一下,
謝謝~