Re: [請益] GIT的使用方式
※ 引述《denru01 (阿儒)》之銘言:
: 其實已經用了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不一致的情況.
個人設定參數寫在一個文件,然後忽略它。
如果有用小烏龜,可以試試 skip worktree
http://blog.miniasp.com/post/2014/12/23/Git-Advanced-Assume-Unchanged-Skip-worktree.aspx
: 2. Commit的頻率與log撰寫.
: 目前一直抓不到commit的節奏,
: 到底是改一個function就要commit呢?
: 還是完整的完成這個feature再commit呢?
: 有看過一個說法是說絕對不要commit不會work的東西上去,
: 但有時要改到會work要改很多地方,
: 萬一中間出事就沒救了.
: 加上我log一直都是寫的很完整,
: 都要dif一下, 一一看改了什麼,
: 再寫進log,
: 導致後來都很懶的commit,
: version control型同虛設.
: 比方說如果這次commit改了很多個檔案,
: 是要一一說每個檔案改了什麼嗎?
做之前以一個任務為名稱切一個本地分支,出去吃飯就commit,廁所就commit,想到就commit,做完squash回去,或是rebase整理完在merge回去。
分支常常create跟merge也是git很鼓勵的事,也是git才能做到的
: 3. 大檔案的存在.
: 跑程式需要一些input,
: 有些input非常巨大,
: 但沒有這些檔案又無法跑.
: 現在的做法就是,
: 只commit code檔,
: 這些input單獨包成一包,
: 每個有使用code的地方都傳一份,
: 如果input有修改,
: 就要重新打包,
: 重新上傳所有的位置.
: 非常沒有效率,
: 而且有時會忘記通知那人input data有更新了...
可以試試submodule…把大檔案單獨一個repo去管。
: 4. 改名與檔案結構改變.
: 有時code寫到後來會變的很亂,
: 所以會想把檔案重新分類一下,
: 並改個名,
: 這個就不太知道有什麼簡單的方法可以達成了...
改名git有支援,如果你不改內容或是只改一兩行(有實驗過),add之後會自動辨識成rename
show log可以包含有改名的歷史,這部分我只在小烏龜用過,bash裡面不知道…
: 5. Log寫錯或是忘記commit某些檔案.
: 有時改了很多個檔案,
: 但忘記commit某一些改過的檔案,
: 或是Log寫錯.
: 麻煩有經驗的前輩指導一下,
還沒push上去之前可以修改前一次commit
或是rebase去整理。
push上去的話…我就不知道了
: 謝謝~
--
噓
06/30 19:57,
06/30 19:57
→
06/30 19:58,
06/30 19:58
文章代碼(AID): #1LaeCIX9 (Gossiping)
標題 [新聞] 陳菊重建至少缺14億 江揆堅持「三不」
→ diefishfish: 氣爆是高雄市政府的問題 06/30 19:53
→ diefishfish: 中央本來就不必負責 06/30 19:53
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 218.173.71.26
※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1469335802.A.5FE.html
推
07/24 14:40, , 1F
07/24 14:40, 1F
→
07/24 18:24, , 2F
07/24 18:24, 2F
推
07/24 18:59, , 3F
07/24 18:59, 3F
推
07/24 21:28, , 4F
07/24 21:28, 4F
→
07/24 21:28, , 5F
07/24 21:28, 5F
推
07/24 23:15, , 6F
07/24 23:15, 6F
推
07/25 00:50, , 7F
07/25 00:50, 7F
→
07/25 02:31, , 8F
07/25 02:31, 8F
推
07/25 17:48, , 9F
07/25 17:48, 9F
→
07/25 17:48, , 10F
07/25 17:48, 10F
推
07/26 10:02, , 11F
07/26 10:02, 11F
討論串 (同標題文章)