通過對git的使用和理解,慢慢發現git的優勢和不足,或許也不能叫不足,只是我想要的功能他還沒有實現,又或者人家實現了,愚笨的我沒有發現怎麼使用。現在對git的理解記錄下來:
Git使用的項目類型:兼容性項目開發
在實際的項目開發中,通常會遇到兩種類型的項目,一種是兼容性項目,一種是不兼容項目
兼容性項目:比如一個平臺的遊戲開發,可以一直升級,來迭代版本
不兼容性項目:一個定製項目,每個客戶的需求不同,其相同的業務,實現不同,不能兼容,必須分成兩個版本來交付的
Git最重要的就是其分支策略,其分支策略如下:
```
分支策略(兼容性項目)
在實際開發中,我們應該按照幾個基本原則進行分支管理:
首先,master分支應該是非常穩定的,也就是僅用來發布新版本,平時不能在上面幹活;
那在哪幹活呢?幹活都在dev分支上,也就是說,dev分支是不穩定的,到某個時候,比如1.0版本發佈時,再把dev分支合併到master上,在master分支發佈1.0版本;
你和你的小夥伴們每個人都在dev分支上幹活,每個人都有自己的分支,時不時地往dev分支上合併就可以了。
所以,團隊合作的分支看起來就像這樣:
```
以上的分支策略描述和圖來自廖雪峯的網站(git相關章節)
分支策略(不兼容性項目)
我能想到比較好的方法就是在dev和master之間再加一層,master是個空項目,沒有內容,僅僅作爲一個原點,然後下面的不兼容版本另外再各個分支中建立起來,pro層是發佈線,dev是開發線,c1,c2是開發成員分支,大概圖就像相面這個樣子:
幾個未知的git操作,希望大家知道的可以解惑
- 如何使一個文件在分支中被跟蹤,但是在master分支中不存在?(爲什麼會有這種奇葩的需求?因爲我不是master的合併者,但是我的分支中會有一些測試代碼文件,我不想刪除,總要用啊,但我又想上傳到我的分支中,做個備份,本地文件夾有時候會刪除,但是上傳了分支中,就會被上傳到master,合併master的人比較潔癖,不讓我上傳這個文件。。。就這樣嘍)