1. 程式人生 > >Git-團隊開放中的程式碼同步與提交

Git-團隊開放中的程式碼同步與提交

最近工作的需要,經常出沒於大大小小的專案團隊當中,他們在專案版本管理工具方面,一直都離不開SVN。但為跟上時代的步伐,很多專案團隊都開始轉向使用Git,但很多人反映git很難用,甚至花了大量的時間在同步程式碼和提交程式碼。所以我在這裡總結了幾點。

1. 遠端庫與本地庫

很多人對這兩個東西搞到腦瓜疼。簡單來說,

  • 遠端庫,就等於程式碼的來源處。例如,某A程式設計師寫了一個專案,某天他邀請你加入他的團隊一齊開發,然後你克隆了他的程式碼到你的電腦進行開發。這樣某A程式設計師的程式碼,就成為了你的遠端庫,成為了你的根,git稱這個為origin. 
  • 本地庫,就是你克隆某A程式設計師的程式碼後,進行的程式碼更改,程式碼增加。

2.提交程式碼

git每次提交程式碼,都必須執行add和commit,這兩個命令其實就是對你本地庫的操作,說白了,就是對自己的程式碼進行操作,並沒有對專案中的其它人造成影響。

  • add,把程式碼放到緩衝區,準備同步到我本地庫裡面
  • commit, 把緩衝區裡面的程式碼,存到版本庫裡面,新增一個變更記錄

3.推送原生代碼到你的遠端庫

經過一段時間的commit之後,本地庫就會有很多關於你對整個專案的修改記錄,但系如果你不把這些程式碼推送到去你的根,他們是無法知道你改了什麼,所以在團隊開放當中,你需要下一步的命令,pull 和push

  • pull就是把遠端庫中的改動同步到本地,看看別人更改的程式碼與你的程式碼庫有什麼程式碼的衝突
  • push就是把你的程式碼同步到遠端庫,使遠端庫中的程式碼,與你一致

那為什麼很多push都會被拒絕,或者失敗呢,因為要先pull別人的程式碼下來,看看與你的有什麼衝突,有衝突,先把衝突的話,必須把有衝突的程式碼進行合併了,才能重新push到遠端庫。這樣就能保證,你push的程式碼不會覆蓋別人程式碼。

 

總結,專案團隊開發同步程式碼的過程就是    add -> commit -> pull -> push