GIT入門之三:相互合作

來源:互聯網
上載者:User

 

GIT的介紹就不多說了。這裡只是簡單的寫些入門的操作。

這裡重點寫兩個人互相配合以及合并代碼的操作。
一切從簡,不講大道理,只講簡單的操作。
原創文章,如有轉載,請註明出處:http://blog.csdn.net/yihui823/article/details/6681240

我們既然不講什麼大道理,那麼我們就類比一個具體的操作環境出來。

情境一

1,張三在做一個項目。用git控制項目。

2,李四花一周時間幫張三完成一個功能。

3,在這一周內,張三自己也在工作。

4,一周后,李四把工作成果給張三。

5,張三把李四的工作合并到自己的項目中。

 

1.      張三初始化項目的git

+        (張三操作)

>> cd [work path]

>> git init

>> git add file1.txt file2.txt

>> git commit -m “init version”

>> git config user.name “zhangsan”

>> git config user.email “zhangsan@gmail.com”

 

2.      張三用git控制自己的項目

+        (張三操作)

>> cd [work path]

>> [修改了file1.txt]

>> git add file1.txt

>> git commit -m “change 1”

 

3.      李四拿到張三的代碼

+        (李四操作)

>> cd [work path] (李四的工作目錄)

>> git clone git://zhangsan/zhangsanwork .

>> git config user.name “lisi”

>> git config user.email “lisi@gmail.com”

>> git status(看看而已)

>> git branch lisimodify (建立自己的分支)

 

4.      李四修改了file1.txe和file2.txt

+        (李四操作)

>> cd [work path] (李四的工作目錄)

>> [修改file1.txe和file2.txt]

>> git add file1.txt  file2.txt

>> git commit -m “changed by lisi”

 

5.      張三修改了file1.txe和file2.txt

+        (張三操作)

>> cd [work path] (張三的工作目錄)

>> [修改file1.txe和file2.txt]

>> git add file1.txt  file2.txt

>> git commit -m “zhangsan changed”

 

6.      李四提交版本給張三

+        (李四操作)

>> cd [work path] (李四的工作目錄)

>> git push origin lisimodify

(合并的工作交給張三啦,啦啦啦!)

 

7.      張三合并李四的工作

+        (張三操作)

>> cd [work path] (張三的工作目錄)

>> git branch (看看有沒有lisimodify的分支)

>> git merge lisimodify (修改了同一行,所以有問題)

>> vi file2.txt [處理衝突]

>> git add file2.txt

>> git commit -m “add lisi work”

 

情境二

1,張三繼續修改,又需要李四的幫忙。

2,李四下載張三的最新代碼。

3,在這一周內,張三自己也在工作。

4,張三沒有時間合并代碼,需要李四合并。

5,李四再次下載張三最新代碼,合并版本。

合并期間,張三停止修改代碼。

6,李四把合并後的代碼提交給張三。張三直接切換到新的分支中。

 

1.      張三修改了file1.txe和file2.txt

+        (張三操作)

>> cd [work path] (張三的工作目錄)

>> [修改file1.txe和file2.txt]

>> git add file1.txt  file2.txt

>> git commit -m “zhangsan changed”

 

2.      李四下載張三目前的版本

+        (李四操作)

>> cd [work path] (李四的工作目錄)

>> git pull [zhangsan url]

>> git branch (看看在哪個分支上)

 

3.      李四修改代碼

+        (李四操作)

>> cd [work path] (李四的工作目錄)

>> [修改代碼]

>> git add file1.txt

>> git commit -m “modify again by lisi”

 

4.      張三繼續工作,修改了file1.txe

+        (張三操作)

>> cd [work path] (張三的工作目錄)

>> [修改file1.txe]

>> git add file1.txt

>> git commit -m “zhangsan changed again”

 

5.      李四準備合并版本。建立分支並下載張三的最新代碼

+        (李四操作)

>> cd [work path] (李四的工作目錄)

>> git branch newversion

>> git checkout newversion

>> git pull [zhagnsan url]

(如果沒有衝突,就會是自動合并)

 

6.      李四提交版本給張三

+        (李四操作)

>> cd [work path] (李四的工作目錄)

>> git push origin newversion

(搞定啦,啦啦啦!)

 

7.      張三切換到最新版本

+        (張三操作)

>> cd [work path] (張三的工作目錄)

>> git checkout newversion

(看看file1.txt,是不是最新的~)

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.