Git歷險記(二) Git的安裝和配置

2022-02-02 21:58:02 字數 3490 閱讀 7693

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

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

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

btw:如果是蘋果平台的使用者的安裝可以參看一下這裡(1,2),配置和命令列的使用與windows、linux(*nix)平台差別不大。

linus開發git的最初目的就是為了開發linux核心服務的,自然它對linux的平台支援也是最棒的。在linux下安裝git大約有幾種方法:

從源**開始(這種方法也適合於多數*nix平台)

$ wget 

$ 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的源**,我們還需要一些庫: expat、curl、 zlib 和 openssl; 除了expat 外,其它的庫可能在你的機器上都安裝了。

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

在 fedora 等系統下用yum :

$ yum install git-core
在debian, ubuntu等系統下用apt :

$ apt-get install git-core
windows平台有兩個模擬*nix like執行環境的工具:cygwin,msys;git在cygwin,msys下都有相應的移植版本。我個人覺得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)平台如何處理換行符很熟悉的話,也可以嘗試一下前面兩個選項:)

在linux下和windows下配置git的方法差不多,只是在linux下,可以在命令列裡直接使用git config進行配置, 而在windows下則要先開啟「git bash」,進入msysgit命令列介面,再用git config命令進行相應的配置操作。

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

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

$ git log #我們用git log檢視當前倉庫的提交(commit)日誌

commit 71948005382ff8e02dd8d5e8d2b4834428eece24

author: author date: thu jan 20 12:58:05 2011 +0800

project init

下面的這兩行命令就是設定使用者名稱和email:

$ git config--globaluser.name author #將使用者名稱設為author

$ git config--globaluser.email [email protected] #將使用者郵箱設為[email protected]

git的配置資訊分為全域性和專案兩種,上面命令中帶了「--global"引數,這就意味是在進行全域性配置,它會影響本機上的每個乙個git專案。

大家看到,上面我們用的是@corpmail(公司郵箱);但是有時候我們可能也參與了一些開源專案,那麼就需要新的使用者名稱和自己的私人郵箱,git 可以為每個專案設定不同的配置資訊。

在命令列環境,進入git專案所在目錄,執行下面的命令:

$ git config user.name nickname#將使用者名稱設為nickname

$ git config user.email [email protected] #將使用者郵箱設為[email protected]

git的設計哲學和linux(*nix)一樣,盡量的使用「文字化」(textuality);它裡面盡量用文字化的形式儲存資訊,對於配置資訊也更是如此,使用者的這些配置資訊全部是儲存在文字檔案中。git的全域性配置檔案是存放在"~/.gitconfig"(使用者目錄下的.gitconfig)檔案中:

我們用cat、head命令檢視全域性配置資訊檔案,並假設相關配置資訊儲存在檔案的前3行(當然也有可能不在前3行,這裡只是為了方便表示)

$ cat ~/.gitconfig | head -3 

[user]

name = author

email = [email protected]

而專案配置檔案是存放在git專案所在目錄的".git/config"檔案中,這裡也像上面一樣用cat、head命令檢視一下:

$ cat .git/config | head -3

[user]

name = nickname

email = [email protected]

如果大家對於git熟悉後,可以直修改」~/.gitconfig」,」.git/config」這兩個檔案進行配置。

git裡還有很多可以配置的地方,大家可以參考一下git config 和 定製git。

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

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

之前我建立了乙個 git中文使用者組 ,如果大家在使用git的過程中碰到什麼麻煩事,歡迎你在這個使用者組裡提問。

Git世界歷險記

git 屬於分散型版本管理系統,是為版本管理而而設計的軟體。linux的創始人linus torvalds在2005年開發了git的原型程式,在此之前人們大多選用subversion作為版本管理軟體 版本管理 版本管理就是管理更新的歷史記錄,它為我們提供了一些在軟體開發過程中必不可少的功能,例如記錄...

Git歷險記(四) 索引與提交的幕後故事

u0026 xd n 我想如果看過 git歷險記 的前面三篇文章的朋友可能已經知道怎麼用git add,git commit這兩個命令了 知道它們乙個是把檔案暫存到索引中為下一次提交做準備,乙個建立新的提交 commit 但是它們台前幕後的一些有趣的細節大家不一定知曉,請允許我一一道來。u0026 ...

Git 入門安裝和廖雪峰的Git教程學習記錄

遠端倉庫 分支管理 安裝後開啟git bash.exe 安裝成功!過了一遍廖雪峰的git教程 1.在f盤git中建立learngit 資料夾 如果使用windows系統,為了避免遇到各種莫名其妙的問題,請確保目錄名 包括父目錄 不包含中文 使用windows的童鞋要特別注意 編寫乙個readme.t...