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,是不是最新的~)