サマリー:1.下載與安裝下載地址:http://code.google.com/p/msysgit/,該地址沒(méi)有被墻,git官方網(wǎng)站http://git-scm.com/已經(jīng)被墻,無(wú)法訪問(wèn)下載。選擇下載Git-1.7.11-preview20120710.exe,這是筆者寫(xiě)這篇文章時(shí)的最新版本。下載完成,點(diǎn)擊exe一路安裝即可。2.配置(1)每一次提交都需要包含你的名字和你的Email地址,因此需要配置一下
1.下載與安裝
下載地址:http://code.google.com/p/msysgit/,該地址沒(méi)有被墻,git官方網(wǎng)站http://git-scm.com/已經(jīng)被墻,無(wú)法訪問(wèn)下載。
選擇下載Git-1.7.11-preview20120710.exe,這是筆者寫(xiě)這篇文章時(shí)的最新版本。下載完成,點(diǎn)擊exe一路安裝即可。
2.配置
(1)每一次提交都需要包含你的名字和你的Email地址,因此需要配置一下這兩個(gè)參數(shù),使用以下命令:
git config --global user.name "Your Name" git config --global user.email "your@email.com"
對(duì)終端顯示的配置,給文字添加顏色,更易于閱讀
git config --global color.diff auto git config --global color.status auto git config --global color.branch auto
3.常用命令
(1)git init ,在指定的目錄執(zhí)行該命令,即為初始化git倉(cāng)庫(kù),添加了.git文件。如果要將已存在的項(xiàng)目納入管理,只需切換到項(xiàng)目目錄,執(zhí)行該命令,然后執(zhí)行add,最后commit,下文有詳細(xì)資料介紹。
(2)git add . .代表添加所有的,你也可以指定具體你想添加的文件,將計(jì)劃的改動(dòng)添加到緩存區(qū)。
git add *.js git add index.php
(3)git commit
//提交時(shí),直接在命令行添加注釋 git commit -m "initial commit" //跳過(guò)stage階段,git自動(dòng)執(zhí)行stage git commit -am 'update to index.php'
(4)git status 查看代碼的當(dāng)前狀態(tài),看是否與服務(wù)器端一致。
(5)git branch 顯示所有分支列表,要想創(chuàng)建分支,在此命令后添加要?jiǎng)?chuàng)建分支的名字,比如:
git branch bigChange
(6)git checkout,剛剛創(chuàng)建使用命令(5)命令創(chuàng)建分支,但是仍然在master,要想切換到剛剛創(chuàng)建的分支需要使用checkout命令,執(zhí)行g(shù)it checkout bigChange,切換到剛創(chuàng)建的分支。
(7)git merge
(8)git log
git log --gragh
(9)git pull 更新本地倉(cāng)庫(kù),將服務(wù)器端的改動(dòng)更新到本地
(10)git clone /path/to/repository 檢出代碼,類似svn的checkout
(11)gitk --all 圖形化展示倉(cāng)庫(kù)
4.如何將已存在的項(xiàng)目納入git的管理
請(qǐng)參考:http://jiangli.easymorse.com/?p=494
5.工作流程
“你的本地倉(cāng)庫(kù)由 git 維護(hù)的三棵“樹(shù)”組成。第一個(gè)是你的 工作目錄,它持有實(shí)際文件;第二個(gè)是 緩存區(qū)(Index),它像個(gè)緩存區(qū)域,臨時(shí)保存你的改動(dòng);最后是 HEAD,指向你最近一次提交后的結(jié)果。”引用自參考資料(3)
首先使用git add命令將計(jì)劃的改動(dòng)提交到緩沖區(qū),
然后使用git commit -m "代碼提交信息"命令,將代碼提交到HEAD,此時(shí)還沒(méi)有提交到服務(wù)器
執(zhí)行如下命令以將這些改動(dòng)提交到服務(wù)器:
git push origin master
可以把 master 換成你想要推送的任何分支。
Git詳解之二 Git基礎(chǔ) 寫(xiě)道
工作目錄下面的所有文件都不外乎這兩種狀態(tài):已跟蹤或未跟蹤。已跟蹤的文件是指本來(lái)就被納入版本控制管理的文件,在上次快照中有它們的記 錄,工作一段時(shí)間后,它們的狀態(tài)可能是未更新,已修改或者已放入暫存區(qū)。而所有其他文件都屬于未跟蹤文件。它們既沒(méi)有上次更新時(shí)的快照,也不在當(dāng)前的暫存 區(qū)域。初次克隆某個(gè)倉(cāng)庫(kù)時(shí),工作目錄中的所有文件都屬于已跟蹤文件,且狀態(tài)為未修改。在編輯過(guò)某些文件之后,Git 將這些文件標(biāo)為已修改。我們逐步把這些修改過(guò)的文件放到暫存區(qū)域,直到最后一次性提交所有這些暫存起來(lái)的文件,如此重復(fù)。
6.安裝eclipse插件EGIT
(1)下載地址:http://www.eclipse.org/egit/
(2)簡(jiǎn)介:EGit 是Eclipse項(xiàng)目組為git版本控制系統(tǒng)提供的插件。Git是一個(gè)分布式的SCM,每一個(gè)開(kāi)發(fā)者都擁有代碼的所有歷史版本的一個(gè)完整拷貝,搜索歷史非??烨异`活。
7.GitHub
(1)生成ssh keys
ssh-keygen -t rsa -C "your@email.com"
生成key文件之后,登錄你的github賬戶,在賬戶設(shè)置中添加將該key添加到ssh key中。具體詳細(xì)參考:
github網(wǎng)站官方生成key向?qū)В篽ttps://help.github.com/articles/generating-ssh-keys,寫(xiě)得非常詳細(xì)。
(2) 下載感興趣的項(xiàng)目代碼,此處以jquery項(xiàng)目為例
git clone git://github.com/jquery/jquery.git
8.遇到的問(wèn)題
(1)ls不能顯示中文目錄問(wèn)題
經(jīng)過(guò)查找資料,在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)如何添加已經(jīng)存在的工程到遠(yuǎn)程版本庫(kù)
請(qǐng)參考:http://jiangli.easymorse.com/?p=504
(3)svn工程遷移到git方法
請(qǐng)參考:http://jiangli.easymorse.com/?p=509