1.下載與安裝
下載地址:http://code.google.com/p/msysgit/,該地址沒有被牆,git官方網站http://git-scm.com/已經被牆,無法訪問下載。
選擇下載Git-1.7.11-preview20120710.exe,這是筆者寫這篇文章時的最新版本。下載完成,點擊exe一路安裝即可。
2.配置
(1)每一次提交都需要包含你的名字和你的Email地址,因此需要配置一下這兩個參數,使用以下命令:
git config --global user.name "Your Name" git config --global user.email "[email protected]"
對終端顯示的配置,給文字添加顏色,更易於閱讀
git config --global color.diff auto git config --global color.status auto git config --global color.branch auto
3.常用命令
(1)git init ,在指定的目錄執行該命令,即爲初始化git倉庫,添加了.git文件。如果要將已存在的項目納入管理,只需切換到項目目錄,執行該命令,然後執行add,最後commit,下文有詳細資料介紹。
(2)git add . .代表添加所有的,你也可以指定具體你想添加的文件,將計劃的改動添加到緩存區。
git add *.js
git add index.php
(3)git commit
//提交時,直接在命令行添加註釋 git commit -m "initial commit" //跳過stage階段,git自動執行stage git commit -am 'update to index.php'
(4)git status 查看代碼的當前狀態,看是否與服務器端一致。
(5)git branch 顯示所有分支列表,要想創建分支,在此命令後添加要創建分支的名字,比如:
git branch bigChange
(6)git checkout,剛剛創建使用命令(5)命令創建分支,但是仍然在master,要想切換到剛剛創建的分支需要使用checkout命令,執行git checkout bigChange,切換到剛創建的分支。
(7)git merge
(8)git log
git log --gragh
(9)git pull 更新本地倉庫,將服務器端的改動更新到本地
(10)git clone /path/to/repository 檢出代碼,類似svn的checkout
(11)gitk --all 圖形化展示倉庫
4.如何將已存在的項目納入git的管理
請參考:http://jiangli.easymorse.com/?p=494
5.工作流程
“你的本地倉庫由 git 維護的三棵“樹”組成。第一個是你的 工作目錄
,它持有實際文件;第二個是 緩存區(Index)
,它像個緩存區域,臨時保存你的改動;最後是 HEAD
,指向你最近一次提交後的結果。”引用自參考資料(3)
- 首先使用git add命令將計劃的改動提交到緩衝區,
- 然後使用git commit -m "代碼提交信息"命令,將代碼提交到HEAD,此時還沒有提交到服務器
- 執行如下命令以將這些改動提交到服務器:
git push origin master
可以把 master 換成你想要推送的任何分支。
6.安裝eclipse插件EGIT
(1)下載地址:http://www.eclipse.org/egit/
(2)簡介:EGit 是Eclipse項目組爲git版本控制系統提供的插件。Git是一個分佈式的SCM,每一個開發者都擁有代碼的所有歷史版本的一個完整拷貝,搜索歷史非常快且靈活。
7.GitHub
(1)生成ssh keys
ssh-keygen -t rsa -C "[email protected]"
生成key文件之後,登錄你的github賬戶,在賬戶設置中添加將該key添加到ssh key中。具體詳細參考:
github網站官方生成key嚮導:https://help.github.com/articles/generating-ssh-keys,寫得非常詳細。
(2) 下載感興趣的項目代碼,此處以jquery項目爲例
git clone git://github.com/jquery/jquery.git
8.遇到的問題
(1)ls不能顯示中文目錄問題
經過查找資料,在http://www.cppblog.com/kusamba/archive/2010/08/23/124420.html找到解決方式,
解決辦法:在git/etc/git-completion.bash中增加一行:
alias ls='ls --show-control-chars --color=auto'
(2)如何添加已經存在的工程到遠程版本庫
請參考:http://jiangli.easymorse.com/?p=504
(3)svn工程遷移到git方法
請參考:http://jiangli.easymorse.com/?p=509
.相關資源及參考資料:
(1)Easy Version Control with Git
http://net.tutsplus.com/tutorials/other/easy-version-control-with-git/,詳細講解了和Github一起使用的方法。
(2) git操作基本命令
http://www.wojilu.com/Forum1/Topic/2236
(3)git - 簡易指南
http://rogerdudler.github.com/git-guide/index.zh.html
(4)從入門逐步深入的記錄:http://jiangli.easymorse.com/?cat=36