Git簡介
Git是一個免費的、分布式的版本控制工具,或是一個強調(diào)了速度快的源代碼管理工具。每一個Git的工作目錄都是一個完全獨立的代碼庫,并擁有完整的歷史記錄和版本追蹤能力,不依賴于網(wǎng)絡(luò)和中心服務(wù)器。
Git 在管理項目時,在本地會有三個工作區(qū)域:Git 的本地數(shù)據(jù)目錄,工作目錄以及暫存區(qū)域。如下圖所示:
因此對于任何一個文件,在 Git 內(nèi)都只有三種狀態(tài):已提交(committed),已修改(modified)和已暫存(staged)。
安裝及配置Git
終端運行:
sudo apt-get install git git-core
首先去https://github.com/ 注冊一個賬戶,當然是free and opensource的用戶了。
根目錄下創(chuàng)建git目錄。
mkdir ~/git
初始化兩個參數(shù):
git config --global user.name = "username"git config --global user.email = "***@*****"
因為本機是通過ssh鏈接github的,所以先創(chuàng)建ssh密鑰。
看一下本機是否已經(jīng)有ssh的密鑰。
cd ~/.ssh
提示沒有文件或者目錄的話說明本機還沒有創(chuàng)建過,繼續(xù)執(zhí)行
ssh-keygen -t rsa -C "your_email@example.com"
一路Enter,在根目錄下面就會生產(chǎn).ssh文件夾(隱藏,查看隱藏文件夾的話按Ctrl+H),里面有生產(chǎn)的密鑰文件。
用gedit打開~/.ssh/github.pub,將文件內(nèi)容拷貝到剪切板,(最好用gedit,其他的工具可能出現(xiàn)換行空格)
回到github的頁面,點擊Acount setting,
點SSH Keys,
title隨便取,key里面把之前復(fù)制的公鑰的內(nèi)容粘進去
點Add。
終端測試一下:
ssh -T git@github.com
成功連接的結(jié)果就想這樣:
如果出現(xiàn)
Agent admitted failure to sign using the key.Permission denied (publickey).
執(zhí)行
使用git
最簡單的一種使用方式就是從github上下載別人的開源項目。
打開一個開源工程的頁面
直接點擊左上角的zip包就可以下載工程了。
更方便一些的做法是在終端運行命令來下載源碼。
終端運行:
git clone https://github.com/SimonVT/android-menudrawer.git
會自動下載整個工程到當前的目錄。
接下來要實現(xiàn)的是分享自己的項目到github上,并進行版本控制。
首先在github上面創(chuàng)建工程。
在個人主頁上點擊Responsitories選項卡的New
填寫一些信息,點Create respository
github上的項目就創(chuàng)建好了。
接下來從服務(wù)器下載工程及配置文件到本地。
終端運行:
mkdir ~/git/reposcd ~/git/reposgit clone git@github.com:***/***.git
執(zhí)行完畢后,repos文件夾下就拷貝好了github上的項目。
本地進行項目編輯,比如添加一個文件之后,
可以通過下面的命令來更新項目了。
git add . //往暫存區(qū)域添加已添加和修改的文件,不處理刪除的文件git status //比較本地數(shù)據(jù)目錄與暫存區(qū)域的變化git commit -m "commit directions" //提到代碼到本地數(shù)據(jù)目錄,并添加提交說明
有可能你和其他人改的是同一個文件,那么沖突的情況是在所難免的,那么在提交之后再獲取一下代碼,就會提示代碼沖突的文件,我們需要做的就是處理這些沖突,并再次提交:
git pull //更新代碼根據(jù)提示修改沖突文件中的代碼git add .git commit -m "commit directions"
當做完以上的步驟的時候,你需要做的是把本地數(shù)據(jù)目錄的版本庫的數(shù)據(jù)同步到GitHub服務(wù)器上去
git push
提交完成之后刷新github的頁面,發(fā)現(xiàn)文件已經(jīng)跟新好了。
在Eclipse中整合git
首先安裝git插件,在Eclispe中,
Help->Install New Software.
輸入地址
http://download.eclipse.org/egit/updates
接著一路下一步,插件就安裝好了。
在Eclipse中創(chuàng)建一個工程。
然后在工程上右擊->Team->Share project->git->next.
選擇Use or create repository in parent folder of project,如下圖,點finish。
執(zhí)行完成之后項目文件夾下就會創(chuàng)建好一個.git的文件夾,倉庫就創(chuàng)建好了。
由于項目中的有一些文件沒有必要上傳,比如bin文件夾,需要在項目中設(shè)置好。
展開對應(yīng)的項目,有小箭頭的表示需要上傳到服務(wù)器的目錄,在不想要上傳的目錄上右擊,Team->Ignoe,該目錄就會被忽略了。
下面來commit代碼到本機一下。
項目上右擊Team->commit。
選中要commit的文件,點commit,完成之后,代碼就上傳到本地的服務(wù)器了。
接下來把代碼上傳到github的服務(wù)器。
命令行中進入到項目的文件夾,運行
git remote add origin https://github.com/SilangQuan/LinearCompiler.git
再執(zhí)行
成功執(zhí)行后就像這樣:
查看github的項目主頁,發(fā)現(xiàn)文件已經(jīng)上傳好。
之后在Eclipse中修改好項目代碼之后,commit之后直接在項目上右擊Team->push就可以進行代碼提交。
上傳到github上之后,團隊中另外的成員可以通過Eclipse->File->Import->Project from Git->URI來提取工程。
在團隊開發(fā)中,通常在新的一天的開始工作之前,把最新的代碼fecth下來。
直接在項目想右擊->Team->fetch
再執(zhí)行->Team->Merge.
服務(wù)器上的新文件就會添加進來了。
參考:
git/github初級運用自如 - http://www.cnblogs.com/fnng/archive/2012/01/07/2315685.html
Git 參考手冊 - http://gitref.cyj.me/zh/index.html
EGit/User Guide - http://wiki.eclipse.org/EGit/User_Guide
來自:http://blog.csdn.net/qp120291570/article/details/8964007