iOS開發中的Git流程

jopen 8年前發布 | 21K 次閱讀 IOS iOS開發 移動開發

iOS開發中的Git流程

Git的優點相信已不用我贅述,不是SVN之流能夠相提并論的。
以前多人開發的時候我還用過拖文件大發和別人合作的。- -!

我在這里不多說一些基本命令,只教最實用的,多人開發到底怎么用Git。

場景

三人合作開發一個app,老大叫小明,老二叫小強,老三叫小偉。

這時候老大去github開一個repository, 當然,公司項目一般是private repo。


創建好之后呢。老大在這個repo分別開四個分支。
名字叫
xiaoming_gittutorial,xiaoqiang_gittutorial,xiaowei_gittutorial,還有一個develop分支。

iOS開發中的Git流程

現在是這樣的。

iOS開發中的Git流程

ok,現在老大告訴其他兩個人,把項目從github上clone下來。


ok,拉下來之后呢,輸入git branch,看看本地分支有哪些。


本地只有一個master,分支。現在,讓每個人分別從遠程分支拉兩個分支。一個是develop,一個是代表自己的那個分支,例如小明,就拉xiaoming_gittutorial.

輸入git fetch origin develop:develop

這個命令的意思就是拉取遠程的一個叫develop的分支,并在本地創建一個叫develop的分支和遠程的分支匹配。


全部拉完之后我們再看看本地有哪些分支了。


我們做完了前期準備工作,接下來怎么保證多人協作的時候盡量少出現merge conflict和污染主分支

做到以下幾點,其實就不容易出現大的紕漏。

  • 做好分工,特別是storyboard和xib多種,盡量避免出現多人修改同一個文件。
  • 每個人的所有開發工作都只在自己的分支開發。例如小明開發,你就在本地切換到自己的xiaoming_gittutorial分支然后進行開發。
  • 每個人只允許在自己的分支直接push遠程分支。
  • 合并的時候必須遵循以下條件.

    • 十分重要

      1. 首先,本地切換到develop分支。
      2. git pull
      3. 例如你是小明,那么在pull到遠程的develop最新的內容之后,git merge xiaoming_gittutorial.
      4. 如果出現conflict那么清除conflict之后,commit.然后把本地develop push 到遠程的develop.
      5. 每完成一個功能就提交一次。不要累計代碼。
      6. </ol> </li> </ul> </li> </ul>

        這樣的流程有什么好處呢?

        1. 幾乎不會出現conflict。
        2. 你永遠也不會污染develop分支。
        3. 為什么?因為你每次都是在本地merge完清除了conflict之后再push會遠端,那么別人更新本地develop分支,再合并的時候,就算出現conflict也只會是自己最新代碼產生的conflict。
        4. </ol>

          最后我們再理清一下思路。

          1.正式開發的時候每個人本地只需要有兩個分支。一個叫develop,一個是自己的那個分支。
          2.每個人可以直接push自己的分支。但是push develop分支的時候。必須先pull 最新的遠程develop分支。然后和本地分支合并,清除conflict之后再push。

          來自:http://www.jianshu.com/p/87e34894a9f9

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!