1.簡單介紹

首先,GIT是什麼就不介紹了,大本營https://www.github.com上資料是非常完整的。簡單說一下Msysgit、git for windows 、TortoiseGit和Cygwins。大本營上能下的是git for windows,下載下來的是一個線上安裝包,但是本人在校園網環境下,安裝不成功,線上資源下載不下來。

安裝成功的是開源的Msysgit,該專案託管在googlecode上,包括GIT GUI、GIT Bash、ssh和git for windows沒有的toolchain。Msysgit安裝完成基本就能滿足程式碼版本控制的需要了。

而TortoiseGit其實只是把GIT Bash裡操作命令封裝,並且圖形介面化了,想要跑起來必須安裝前兩者之一。比如先完成Msysgit,然後安裝TortoiseGIT,安裝時會自動找到Msysgit下的git.exe,安完右擊選單就有了一系列的嵌好了的命令。

最後的那個Cygwin是Unix的模擬環境,也可以下載GIT相關外掛,必須在沒安裝相關外掛的時候先裝好Msysgit,不怎麼了解。

順帶提一點的是,本人用的Sublime,也有外掛支援GIT~不愧是最性感的編輯器吶~

2.安裝Msysgit

下載開源的Msysgit,其中幾個可選項簡單介紹一下:


我選擇的是第二項,如果你不想改變自己的PATH(PATH是否存在決定能否在命令列任意位置直接呼叫),只用Bash,那麼就選第一項;如果想要把附帶的Unix工具也安上,那就選第三項,不保證安全性。


這裡本人選的預設,即第一個選項,該選項適合windows平臺上開發可遷移的Unix專案;如果平臺是Linux等,選第二項,如果確定專案不需要遷移,則選擇第三項。該選項頁對應於配置的core.autocrlf項。

3.配置本地環境

3.1本地資訊

首先說明,大家應該都瞭解一些公鑰和私鑰,由於公鑰和私鑰是任一都不能洩露的,所以本文圖片中的出現的公私鑰會被部分塗掉,望諒解;由於本人目前其實專案經驗有限,所以直接套用網上最常見設定:


白條處填的分別是使用者名稱(隨意)和賬戶繫結的那個初始的Email地址。一般配置這兩項足夠,如果有需要,更多的設定命令可以檢視:

git config –h

如果說同時做多個專案,就去掉--global,每次更新到不同的專案時輸入不同的config user.name。此處並不完整需要再自行百度。

3.2建立本地資料夾

然後建立一個資料夾,可以是隨意位置,cd進去之後輸入:

git init

注意,如果沒有輸入該指令,無法進行第4部的所有指令。

3.3金鑰對配置

開啟Bash輸入ssh-keygen生成不對稱加密金鑰:


中間會詢問儲存的目錄,需要注意的是格式為:“位置/id_rsa”。然後詢問密碼,沒有回顯,而且需要確認輸入。本人沒有使用密碼,由於每次高許可權操作都需要鍵入密碼非常浪費時間,所以直接敲回車兩次結束。

開啟目錄位置,用記事本開啟 id_rsa.pub,複製所有的字串:


開啟官網,登入或註冊登入,點右上Account Setting(請無視桌面歌詞):


點紅色框出來的ssh keys,點Add,直接複製到Key文字框:


點綠色的Add key,不需要Title。

至此,金鑰配對部分完成。

3.4SSH連線方式

配置完公私玥,想檢視ssh連線是否可用可以輸入命令(無需改動):

這裡可能出現的錯誤是:

ssh: connectto host github.com port 22: Bad file number。

出現這種錯誤主要是ssh要用到的Port 22可能由於本地閘道器的安全策略而關閉。但是可以跳過檢視連線可用性,直接進行之後的操作。如果之後的ssh操作仍然不可用,就需要改換成https形式進行操作。

然後檢查是否存在ssh授權代理:

ps aux |grepagent

應該出現一行。出行多行需要全部kill並重啟Bash,未出現不需要操作,也不需要上網搜尋解決方法,繼續做agent會自動啟動。

一如後面會出現的那樣,ssh連線的遠端地址引數格式是(所有git三個字元不要改動):

[email protected]:username/repository_name.git

另一個可行的地址引數格式是:

[email protected]:path/to/repository

3.5https連線方式

https連線方式的遠端地址引數格式是:

但是每次都需要鍵入使用者名稱和密碼,想本地儲存密碼需要下載安裝:GIT密碼快取助手

4與遠端通訊命令

首先需要用指定字串代換遠端地址:

git remote addaddname [email protected]:username/repo_name.git

可以用remove取消字串與地址代換。

完整的-add選項說明如下,入門可以跳過:

-t <branch>

分支名,見後續

-m <master>

遠端的分支名,master是預設的主分支

4.1add和commit命令

常用格式為:

git add [–a|’檔名’]

git commit –m‘描述資訊’

該命令用於提交修改,隻影響本地檔案,並不影響遠端檔案,注意每次commit必須要有描述資訊。

4.2push命令

常用格式為:

git push [遠端地址|字串代換(addname)] [本地分支]:[遠端分支]

push命令會檢查遠端的檔案和檔案目錄,如果在本地檔案未上傳期間,又有其他人修改了檔案,那麼本次命令會失敗,並且需要先將遠端檔案pull(4.3pull命令)下來。push後遠端的repository才發生了修改。

4.3pull命令

常用格式為:

            git pull addname 本地分支名(一般為master)

5常用網址

這是一個非常好看的多國語言版網址:

其它的就算了,不是很好用。實在有問題建議去github官網。 .