問題:GIt是什麼?Git幹什麼用的?怎麼使用Git?
詞庫:Repository(倉庫);Trunk(主幹);Branch(分支);Revision(修改)
Git是什麼?
是一款版本控制軟體,并且是開源的,分布式的。
分布式版本控制軟體與集中式版本控制軟體(最常用的是SVN即subversion)相對應,最大的不同是每個開發者可以通過克隆(git clone),在本地機器上拷貝一個完整的git倉庫。即svn隻有一個伺服器倉庫,而git則同時有伺服器和本地倉庫。
Git幹什麼用的?
用于靈活高效地進行多人合作開發項目。
Git怎麼使用?
對比一下git和svn的工作流程:
svn
1、從伺服器下載下傳項目組最新代碼;
2、進入到自己的分支,進行工作,每隔一段時間向伺服器自己的分支送出一次代碼;
3、下班時間快到了,把自己的分支合并到伺服器主分支上,一天的工作完成。
Git
1、如果要新開發一個功能,先從伺服器主幹master建立一個伺服器分支new Branch;
2、将伺服器上分支Branch的代碼克隆下來;
3、第二步之後,本地會得到一個主幹與伺服器的new Branch對應;
4、在本地編寫代碼,使用add指令将工作區代碼放入本地倉庫暫存區,再使用commit指令送出到本地倉庫主幹分支;(ps: 如果有需要的話,可以在本地主幹建立分支,然後切換到分支,進行代碼編寫,最後合并到本地主幹)
5、多人合作開發時,伺服器new Branch會有不同的開發員送出代碼;是以在本地代碼編寫告一段落,需要送出本地代碼到伺服器new Branch時,先将伺服器new Branch代碼pull到本地對應主幹更新代碼(此時不會覆寫本地commit到本地倉庫的代碼);
6、第5步之後,可能會發生代碼沖突,在本地通過Merge等解決沖突;
7、解決沖突之後,可通過push指令将本地倉庫的代碼送出到伺服器分支new Branch;
8、新功能開發完畢,将new Branch分支代碼合并到伺服器主幹master上。
(ps:在開發過程中,通過pull指令及時更新代碼)
Git工作流程圖解如下:
帶