作者abc0922001 (中士abc)
看板Soft_Job
標題Re: [請益] GIT的使用方式
時間Sun Jul 24 12:49:52 2016
※ 引述《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上去的話…我就不知道了
: 謝謝~
--
噓 diefishfish: 用政治消費災難 最不可取 06/30 19:57
→ diefishfish: 台灣人受傷 不分藍綠 都是台灣的孩子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
推 bill42362: push 上去的話...就 -f 囉 XDD 07/24 14:40
→ derekhsu: 樓上不要教壞小朋友 07/24 18:24
推 abccbaandy: 想到以前同事push不了就硬推... 07/24 18:59
推 derekhsu: 推到自己的branch也就算了,有人推master也下force的… 07/24 21:28
→ derekhsu: … 07/24 21:28
推 cookie1115: master沒關force 也是很敢... 07/24 23:15
推 troylee: 我也遇過...還裝傻... 07/25 00:50
→ Vitaceae: source 檔案餵參數不好嗎? 07/25 02:31
推 derekhsu: 一開始的Gitblit不能關master,被幹掉好幾次,後來換Git 07/25 17:48
→ derekhsu: lab才可以 07/25 17:48
推 bill42362: 我倒是常常別人搞壞的樹,請我幫忙用 -f 修 >"< 07/26 10:02