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