jasmine214--love

          只有當你的內心總是充滿快樂、美好的愿望和寧靜時,你才能擁有強壯的體魄和明朗、快樂或者寧靜的面容。
          posts - 731, comments - 60, trackbacks - 0, articles - 0

          各位同學,上回Git歷險記(一)講了一個 “hello Git” 的小故事。有的同學可能是玩過了其它分布式版本控制系統(DVCS),看完之后就觸類旁通對Git就了然于胸了;也有的同學可能還如我當初入手Git一樣,對它還是摸不著頭腦。

          從這一篇開始,我就將比較“啰嗦”的和大家一起從零開始經歷Git使用的每一步,當然對我而言這也是一個重新認識Git的過程。

          使用Git的第一步肯定是安裝Git,因為在多數平臺上Git是沒有預裝的。我平時主要的工作環境是windows和Linux(ubuntu),我想看這篇文章的同學多半也是在這兩個平臺下工作;下面我講一下如何在這兩個平臺下安裝和配置Git。

          BTW:如果是蘋果平臺的用戶的安裝可以參看一下這里(1,2),配置和命令行的使用與windows、Linux(*nix)平臺差別不大。

          Linux (*nix) 平臺

          Linus開發Git的最初目的就是為了開發Linux內核服務的,自然它對Linux的平臺支持也是最棒的。在Linux下安裝Git大約有幾種方法:

          從源代碼開始(這種方法也適合于多數*nix平臺)

          Git官網下載頁面下載它最新穩定版的源代碼,就可以從源代碼開始編譯、安裝:

          $ wget http://kernel.org/pub/software/scm/git/git-1.7.3.5.tar.bz2
          $ tar -xjvf git-1.7.3.5.tar.bz2
          $ cd git-1.7.3.5
          $ make prefix=/usr all ;# prefix設置你的Git安裝目錄
          $ sudo make prefix=/usr install ;# 以root權限運行

          為了編譯Git的源代碼,我們還需要一些庫: expatcurlzlibopenssl; 除了expat 外,其它的庫可能在你的機器上都安裝了。

          使用安裝包管理器(apt 或 yum)

          在 fedora 等系統下用yum

          $ yum install git-core 

          在debian, ubuntu等系統下用apt

          $ apt-get install git-core

          有時候,你系統里的安裝包管理器出現了問題,或是要安裝Git的機器不能上網、沒有編譯器的話,你可以從下面的站點去下載 “.deb” 或 “.rpm”的安裝包:

          Windows平臺

          windows平臺有兩個模擬*nix like運行環境的工具:cygwinmsys;Git在cygwinmsys下都有相應的移植版本。我個人覺得msys平臺下的msysGit最好用,現在我在windows下也是用的這個版本。

          很多同學可能要問,現在windows下有那多Git用戶,為什么Git不直接出一個windows native版。俺當年翻看了一下Git的源代碼,它里面使用了大量的*nix平臺的native api,而這些api在windows下是沒有的,所以必須要用cygwin、msys這樣的一個中間層來滿足軟件移植的要求。

          下面我“啰嗦”一下如何在windows下安裝msysGit。

          下載

          到它的下載頁面去下載一個最新的完整安裝包,筆者在撰寫本文時下載的是這個

          安裝

          安裝的過程沒有什么好說的,一般是開始安裝后,一路的點擊“下一步”。由于windows平臺的換行符(CRLF)和Linux(*nix)平臺的換行符(LF)不同,那么在windows下開發其它平臺軟件的朋友有一個地方要注意(見下圖):

          在這里一最好選“Checkout as-is, commit as-is”這個選項,這樣,Git就不會修改你代碼的換行符風格。

          以前有個朋友因為選錯了這個選項,以致他在windows平臺下的一簽出(checkout)其它平臺的代碼,就會顯示”已修改“(modified),不過后來可能msysGit也認識到這個問題了,就把默認選項改成了這個選項。

          BTW: 其實前面兩項也是有用的,如果對windows和Linux(*nix)平臺如何處理換行符很熟悉的話,也可以嘗試一下前面兩個選項:)

          配置Git

          在Linux下和windows下配置Git的方法差不多,只是在Linux下,可以在命令行里直接使用git config進行配置, 而在windows下則要先打開“Git Bash”,進入msysGit命令行界面,再用git config命令進行相應的配置操作。

          好了,前面安裝好了Git,現在我們開始配置:

          第一個需要配置的就是用戶的用戶名和email,因為這些內容會出現在你的每一個提交(commit)里面的,像下面這樣:

          $ git log #我們用git log查看當前倉庫的提交(commit)日志
          commit 71948005382ff8e02dd8d5e8d2b4834428eece24
          Author: author <author@corpmail.com>
          Date: Thu Jan 20 12:58:05 2011 +0800
          Project init

          下面的這兩行命令就是設置用戶名和email:

          $ git config --global user.name author #將用戶名設為author
          $ git config --global user.email author@corpmail.com #將用戶郵箱設為author@corpmail.com

          Git的配置信息分為全局和項目兩種,上面命令中帶了“--global"參數,這就意味是在進行全局配置,它會影響本機上的每個一個Git項目。

          大家看到,上面我們用的是@corpmail(公司郵箱);但是有時候我們可能也參與了一些開源項目,那么就需要新的用戶名和自己的私人郵箱,Git 可以為每個項目設定不同的配置信息。

          在命令行環境,進入Git項目所在目錄,執行下面的命令:

          $ git config user.name nickname#將用戶名設為nickname
          $ git config user.email nickname@gmail.com #將用戶郵箱設為nickname@gmail.com

          Git的設計哲學和Linux(*nix)一樣,盡量的使用

          我們用cat、head命令查看全局配置信息文件,并假設相關配置信息存儲在文件的前3行(當然也有可能不在前3行,這里只是為了方便表示)

          $ cat ~/.gitconfig | head -3 
          [user]
          name = author
          email = author@corpmail.com

          而項目配置文件是存放在Git項目所在目錄的".git/config"文件中,這里也像上面一樣用cat、head命令查看一下:

          $ cat .git/config | head -3
          [user]
          name = nickname

          如果大家對于Git熟悉后,可以直修改”~/.gitconfig”,”.git/config”這兩個文件進行配置。

          Git里還有很多可以配置的地方,大家可以參考一下git config定制git


          這一篇寫起來有點平淡無奇,但這是一個Git用戶邁出的第一步。后面我還會有一系列的文章出來,都是我個人使用過程中的感悟。

          有朋友問我:“為什么把文章叫作:‘Git歷險記’”。這是因為在使用Git的歷程中,我碰到過N多的問題;同時也覺得它有點小復雜。但是當這些問題解開后,就有時不得不贊嘆它設計的巧妙之處。

          如果大家對于我的文章有什么問題和建議,歡迎給我寫郵件:

          之前我建立了一個 git中文用戶組 ,如果大家在使用Git的過程中碰到什么麻煩事,歡迎你在這個用戶組里提問。

          參考資料:

          感謝張凱峰對本文的策劃及無比耐心的審校。

          感謝家人在我的寫作過程中的默默支持。

          原文:http://www.infoq.com/cn/news/2011/01/git-adventures-install-config
          email = nickname@gmail.com
          主站蜘蛛池模板: 静乐县| 西乡县| 桦南县| 托克逊县| 连江县| 东光县| 平南县| 新昌县| 礼泉县| 教育| 连江县| 西畴县| 英吉沙县| 大姚县| 达尔| 锦州市| 泗洪县| 滕州市| 枣庄市| 无为县| 积石山| 台东市| 麻江县| 普定县| 宜阳县| 丽水市| 屯门区| 巧家县| 文成县| 永城市| 穆棱市| 三原县| 阳山县| 肃南| 金堂县| 陵川县| 赣州市| 雷山县| 勃利县| 佛冈县| 武宣县|