廖雪峯的官方網站,很適合新手的,並且很詳細很簡單教學材料。
http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
摘抄了關鍵部分:
1、安裝
- 安裝msysgit下載地址,然後按默認選項安裝即可。
安裝完成後,在開始菜單裏找到“Git”->“Git Bash”,蹦出一個類似命令行窗口的東西,就說明Git安裝成功!,
安裝完成後,還需要最後一步設置,在命令行輸入:
$ git config
--global
user.name “Your Name”$ git config
--global
user.email “[email protected]”
因爲Git是分佈式版本控制系統,所以,每個機器都必須自報家門:你的名字和Email地址。
注意git config命令的–global參數,用了這個參數,表示你這臺機器上所有的Git倉庫都會使用這個配置,當然也可以對某個倉庫指定不同的用戶名和Email地址。
2、創建版本庫
確定創建版本庫的位置,並創建好相應文件夾,在當前文件夾下右鍵選擇“git bash here”打開命令窗口,
輸入以下內容:
$ git init
Initialized empty Git repository in G:/GitRepositories/okHttpDemo/.git/
這樣一句命令,倉庫就建好了,文件夾內多了一個.git的文件夾。
3、提交文件
在建好的倉庫文件夾內創建一個txt文件,不要用windows自還的文本編輯器,具說有很多坑。創建好了,執行以下命令將文本添加到版本控制中。
1.查看一個文件修改內容:
$ git diff readme.txt
2.添加單個文件
$ git add readme.txt
3.添加所有更改
$ git add
--a
4.commit提交之前撤銷git add
$ git reset <文件名>
5.撤銷所有暫存區修改
$ git reset
6.再執行以下命令提交到倉庫
$ git commit -m “wrote a readme file”
7.提交更改到遠程倉庫
$ git push -u origin master
4、從遠程倉庫克隆
完成第1步,安裝完成,啓動git Bash窗口,執行以下一句命令即可克隆遠程倉庫,以我一個git項目爲例。
$ git clone [email protected]:luodengzhong/okHttpDemo.git
命令很快執行完畢,本地已經創建了okHttpDemo項目,該項目用Eclipse開發,直接導入後即可運行。只要掌握這一條命令,github中的所有項目都可以被克隆下來了,就衝這一點,呵呵git就是如此強大!
5、提交代碼到遠程倉庫
從遠程倉庫克隆下來後,就只能在本地閱讀,修改代碼只能提交在本地倉庫裏,如果要想把修改後的代碼提交以遠程倉庫,那還有兩個手續需要辦。
- 創建SSH Key。
在用戶主目錄下,看看有沒有.ssh目錄,如果有,再看看這個目錄下有沒有id_rsa和id_rsa.pub這兩個文件,如果已經有了,可直接跳到下一步。如果沒有,打開Git Bash,創建SSH Key:
$ ssh-keygen -t rsa -C “[email protected]”
把郵件地址換成你自己的郵件地址,然後一路回車,使用默認值即可,我們自己使用無需設置密碼。ssh key創建完成後,在打印的日誌裏輸出了,創建的文件所在位置,在該可看到id_rsa和id_rsa.pub兩個文件,用文本工具打開id_rsa.pub文件,這裏是ssh key公鑰,是要交給遠程倉庫的。
- 添加ssh key到github
如果自己有github帳號,登錄github。
按以上操作,把上在拷貝的公鑰內容,粘貼到④所指位置,點擊“Add key”按鈕後顯示以下界面表示我們公鑰已經加入到github帳號裏面。以後我們就可以對該帳號下的項目進行修改提交遠程倉庫了。
經過前面的操作,我已經在本地建立了git倉庫了,我現在如何能把本地倉庫的內容提交到遠程呢?
- 首先,在遠程倉庫上建立項目,名稱與本地倉庫一致。
- 在本地倉庫目錄下打開Git Bash 並執行以下命令
$ git remote add origin [email protected]:yourgitaccount/yourprojectname.git
與遠程倉庫建立關聯後,把本地倉庫內容推送到遠程倉庫中
$ git push -u origin master
SSH連接在第一次驗證GitHub服務器的Key時,需要你確認GitHub的Key的指紋信息是否真的來自GitHub的服務器,輸入yes回車即可。
Git會輸出一個警告,告訴你已經把GitHub的Key添加到本機的一個信任列表裏了:
打開github項目,是不是看到推送上去的內容了。
至此,完成了git安裝,本地倉庫的創建,代碼提交,與遠程倉庫建立連接,提交本地代碼。
6、克隆分支代碼
我想下載spring-framework 3.1.x版本源碼,我已經fork到我自己的帳號了。
$ git clone -b 3.1.x [email protected]:luodengzhong/spring-framework.git
7、從遠程倉庫覆蓋更新
git fetch
--all
git reset--hard
origin/master
6、版本管理
1、整個項目版本回退,HEAD^表示當前版本前一個版本;當前版本前100個版本用HEAD~100表示
git reset –hard HEAD^
2、更新單個文件到某個版本,一長串字符指的是版本號,注意文件名要包含路徑。
$ git reset a4e215234aa4927c85693dca7b68e9976948a35e readme.txt
3、更新代碼
git pull origin master