Git簡介
Git是一個免費的、分布式的版本控制工具,或是一個強調了速度快的原始程式碼控制工具。每一個Git的工作目錄都是一個完全獨立的程式碼程式庫,並擁有完整的記錄和版本追蹤能力,不依賴於網路和中心伺服器。
Git 在管理項目時,在本地會有三個工作區域:Git 的本機資料目錄,工作目錄以及暫存地區。如所示:
因此對於任何一個檔案,在 Git 內都只有三種狀態:已提交(committed),已修改(modified)和已暫存(staged)。
安裝及配置Git 終端運行:
sudo apt-get install git git-core
首先去https://github.com/ 註冊一個賬戶,當然是free and opensource的使用者了。 根目錄下建立git目錄。
mkdir ~/git
初始化兩個參數:
git config --global user.name = "username"git config --global user.email = "***@*****"
因為本機是通過ssh連結github的,所以先建立ssh密鑰。 看一下本機是否已經有ssh的密鑰。
cd ~/.ssh
提示沒有檔案或者目錄的話說明本機還沒有建立過,繼續執行
ssh-keygen -t rsa -C "your_email@example.com"
一路Enter,在根目錄下面就會生產.ssh檔案夾(隱藏,查看隱藏檔案夾的話按Ctrl+H),裡面有生產的密鑰檔案。 用gedit開啟~/.ssh/github.pub,將檔案內容拷貝到剪下板,(最好用gedit,其他的工具可能出現換行空格) 回到github的頁面,點擊
Acount setting,
點
SSH Keys, title隨便取,key裡面把之前複製的公開金鑰的內容粘進去 點
Add。 終端測試一下:
ssh -T git@github.com
成功串連的結果就想這樣: 如果出現
Agent admitted failure to sign using the key.Permission denied (publickey).
執行
ssh-add
再進行串連就沒問題了。
使用git 最簡單的一種使用方式就是從github上下載別人的開源項目。 開啟一個開源工程的頁面 直接點擊左上方的zip包就可以下載工程了。 更方便一些的做法是在終端運行命令來下載源碼。 終端運行:
git clone https://github.com/SimonVT/android-menudrawer.git
會自動下載整個工程到當前的目錄。 接下來要實現的是分享自己的項目到github上,並進資料列版本設定。 首先在github上面建立工程。 在個人首頁上點擊Responsitories選項卡的New 填寫一些資訊,點Create respository github上的項目就建立好了。 接下來從伺服器下載工程及設定檔到本地。 終端運行:
mkdir ~/git/reposcd ~/git/reposgit clone git@github.com:***/***.git
執行完畢後,repos檔案夾下就拷貝好了github上的項目。 本地進行項目編輯,比如添加一個檔案之後, 可以通過下面的命令來更新項目了。
git add . //往暫存地區添加已添加和修改的檔案,不處理刪除的檔案git status //比較本機資料目錄與暫存地區的變化git commit -m "commit directions" //提到代碼到本機資料目錄,並添加提交說明
有可能你和其他人改的是同一個檔案,那麼衝突的情況是在所難免的,那麼在提交之後再擷取一下代碼,就會提示代碼衝突的檔案,我們需要做的就是處理這些衝突,並再次提交:
git pull //更新代碼根據提示修改衝突檔案中的代碼git add .git commit -m "commit directions"
當做完以上的步驟的時候,你需要做的是把本機資料目錄的版本庫的資料同步到GitHub伺服器上去
git push
提交完成之後重新整理github的頁面,發現檔案已經跟新好了。 在Eclipse中整合git
首先安裝git外掛程式,在Eclispe中, Help->Install New Software. 輸入地址
http://download.eclipse.org/egit/updates
接著一路下一步,外掛程式就安裝好了。 在Eclipse中建立一個工程。 然後在工程上右擊->Team->Share project->git->next. 選擇Use or create repository in parent folder of project,如,點finish。 執行完成之後專案檔夾下就會建立好一個.git的檔案夾,倉庫就建立好了。 由於項目中的有一些檔案沒有必要上傳,比如bin檔案夾,需要在項目中設定好。 展開對應的項目,有小箭頭的表示需要上傳到伺服器的目錄,在不想要上傳的目錄上右擊,Team->Ignoe,該目錄就會被忽略了。 下面來commit代碼到本機一下。 項目上右擊Team->commit。 選中要commit的檔案,點commit,完成之後,代碼就上傳到本地的伺服器了。 接下來把代碼上傳到github的伺服器。 命令列中進入到項目的檔案夾,運行
git remote add origin https://github.com/SilangQuan/LinearCompiler.git
再執行
git push -f
成功執行後就像這樣: 查看github的項目首頁,發現檔案已經上傳好。 之後在Eclipse中修改好項目代碼之後,commit之後直接在項目上右擊Team->push就可以進行代碼提交。 上傳到github上之後,團隊中另外的成員可以通過Eclipse->File->Import->Project from Git->URI來提取工程。 在團隊開發中,通常在新的一天的開始工作之前,把最新的代碼fecth下來。 直接在項目想右擊->Team->fetch 再執行->Team->Merge. 伺服器上的新檔案就會添加進來了。 參考: 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