其实已经用了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写错.
麻烦有经验的前辈指导一下,
谢谢~