天天看點

git初識試用示例

Git是一款免費、開源的分布式版本控制系統,用于靈活高效地處理任何或小或大的項目.

分布式和集中式(eg:svn)的最大差別在于開發者可以本地送出。每個開發者機器上都有一個伺服器的資料庫。

特點就是本地送出這一步,這樣就使每個使用者都是git伺服器。

Git的功能特性:

從一般開發者的角度來看,git有以下功能:

1:從伺服器上克隆資料庫(包括代碼和版本資訊)到單機上。

2:在自己的機器上建立分支,修改代碼。

3:在單機上自己建立的分支上送出代碼。

4:在單機上合并分支。

5:建立一個分支,把伺服器上最新版的代碼fetch下來,然後跟自己的主分支合并。

6:生成更新檔(patch),把更新檔發送給主開發者。

7:看主開發者的回報,如果主開發者發現兩個一般開發者之間有沖突(他們之間可以合作解決的沖突),就會要求他們先解決沖突,然後再由其中一個人送出。如果主開發者可以自己解決,或者沒有沖突,就通過。

8:一般開發者之間解決沖突的方法,開發者之間可以使用pull 指令解決沖突,解決完沖突之後再向主開發者送出更新檔。

git 結果層次圖如下:

<a href="http://s3.51cto.com/wyfs02/M00/49/BD/wKiom1QZlWGyPTGxAADqrDRk-Xk080.jpg" target="_blank"></a>

下面先示範個例子;

安裝後,右鍵GitBash;這裡以github為伺服器,需要先去申請一個帳号;

1、右鍵GitBash界面如下:

<a href="http://s3.51cto.com/wyfs02/M02/49/B6/wKioL1QZTpTy00HPAACgWmEIpO0337.jpg" target="_blank"></a>

2、設定全局資訊,個人的使用者名及郵件位址

1

2

3

4

5

<code>leo@LEO-PC </code><code>/D/User/leo/Desktop</code> <code>(master)</code>

<code>$ git config --global user.name </code><code>"lansgg"</code>   <code>#使用者名改成你自己的</code>

<code>$ git config --global user.email </code><code>"[email protected]"</code>     <code>#郵件位址也是</code>

3、将github伺服器上我的代碼clone下來;我的代碼項目為test,clone位址見下圖紅線,我的項目裡面本來就有兩個檔案

<a href="http://s3.51cto.com/wyfs02/M02/49/B4/wKiom1QZUEzBbxANAAF2hmkXLhk880.jpg" target="_blank"></a>

<a href="http://s3.51cto.com/wyfs02/M02/49/B4/wKiom1QZUKexYwr1AAFMDYB_evA090.jpg" target="_blank"></a>

4、進入該test目錄,本目錄已經是git repository (本地倉庫);

6

<code>$ </code><code>cd</code> <code>test</code><code>/</code>

<code>leo@LEO-PC </code><code>/D/User/leo/Desktop/test</code> <code>(master)</code>

<code>$ </code><code>ls</code>

<code>README  hello.rb</code>

可以看到我線上倉庫的兩個檔案

5、随便建立一個檔案

<code>$ </code><code>touch</code> <code>test</code><code>.</code><code>file</code>

<code>$ </code><code>echo</code> <code>"this is a test file "</code> <code>&gt; </code><code>test</code><code>.</code><code>file</code>

6、将檔案添加到上傳隊列;加入staging area

<code>$ git add </code><code>test</code><code>.</code><code>file</code>

7、緩存送出,引号中的是對本次送出的描述,必須填寫,不能為空;将staging area 送出到repository

<code>$ git commit -m </code><code>"test commit"</code> <code>test</code><code>.</code><code>file</code>

8、将代碼push到線上repository

<code>$ git remote add origin  https:</code><code>//github</code><code>.com</code><code>/lansgg/test</code><code>.git         </code><code>#此為我們剛才clone的url </code>

<code>$ git push origin master                                    </code><code>#會需要你輸入你的github帳号和密碼</code>

<a href="http://s3.51cto.com/wyfs02/M02/49/B5/wKiom1QZVejiT3DFAAHfrL1bwuk037.jpg" target="_blank"></a>

9、現在看看線上倉庫

<a href="http://s3.51cto.com/wyfs02/M01/49/B5/wKiom1QZVkuCJYmIAAEwoFghcoc602.jpg" target="_blank"></a>

同步成功;

本文轉自 西索oO 51CTO部落格,原文連結:http://blog.51cto.com/lansgg/1554530