Git是分布式管理铣焊,svn是集中式管理
區(qū)別在于:分布式下,開(kāi)發(fā)者可以本地提交蹈矮,每個(gè)開(kāi)發(fā)者機(jī)器上都有一個(gè)本地倉(cāng)庫(kù)
跟svn一樣揪漩,可以通過(guò)命令行或者圖形界面客戶端使用git
在mac上,比較好用的git圖形界面客戶端有:01.sourceTree乘陪,02.Github(不過(guò)他是專門為github網(wǎng)站而設(shè)計(jì)的) 還有03.xcode
git常用的命令:
l git help :git指令幫助手冊(cè)
p 查看其他指令的做法:git help 其他指令
l git config :git的配置信息相關(guān)(修改的是.git/config文件)
p 配置用戶名:git config “user.name” 用戶名(用于跟蹤修改記錄)
p 配置郵箱:git config “user.email”郵箱(用于多人開(kāi)發(fā)間的溝通)
p 查看配置信息:git config –l
p 編輯配置信息:git config –e(用vim編輯统台,:wq是退出vim編輯器)
p 設(shè)置指令的別名:git config alias.別名 原指令名稱
p 設(shè)置帶參數(shù)指令的別名:git config alias.別名 “原指令名稱參數(shù)”
p 將此設(shè)置應(yīng)用到整個(gè)系統(tǒng)中:git config ––gloabal
git常用指令:
lgit status :查文件的狀態(tài)
p 查看某個(gè)文件的狀態(tài):git status 文件名
p 查看當(dāng)前路徑所有文件的狀態(tài):git status
lgit log :查看文件的修改日志
p 查看某個(gè)文件的修改日志:git log 文件名
p 查看當(dāng)前路徑所有文件的修改日志:git log
p 用一行的方式查看簡(jiǎn)單的日志信息:git log ––pretty=oneline
p 查看最近的N次修改:git log –N(N是一個(gè)整數(shù))
lgit diff :查看文件最新改動(dòng)的地方
p 查看某個(gè)文件的最新改動(dòng)的地方:git diff 文件名
p 查看當(dāng)前路徑所有文件最新改動(dòng)的地方:git diff
git常用的指令:
lgit init :初始化一個(gè)空的本地倉(cāng)庫(kù),生成一個(gè).git目錄啡邑,用于維護(hù)版本信息
p 在當(dāng)前路徑初始化倉(cāng)庫(kù):git init
p 在其他路徑初始化倉(cāng)庫(kù):git init 倉(cāng)庫(kù)路徑
lgit add :將工作區(qū)的文件保存到暫緩區(qū)
p 保存某個(gè)文件到暫緩區(qū):git add 文件名
p 保存當(dāng)前路徑的所有文件到暫緩區(qū):git add .(注意贱勃,最后是一個(gè)點(diǎn) . )
lgit commit :將暫緩區(qū)的文件提交到當(dāng)前分支
p 提交某個(gè)文件到分支:git commit -m ”注釋” 文件名
保存當(dāng)前路徑的所有文件到分支:git commit -m ”注釋”
lgit reset :版本回退(建議加上––hard參數(shù),git支持無(wú)限次后悔)
p 回退到上一個(gè)版本:git reset ––hard HEAD^
p 回退到上上一個(gè)版本:git reset ––hard HEAD^^
p 回退到上N個(gè)版本:git reset ––hard HEAD~N(N是一個(gè)整數(shù))
p 回退到任意一個(gè)版本:git reset ––hard 版本號(hào)(版本號(hào)用7位即可)
lgit reflog :查看指令使用記錄(能夠查看所有的版本號(hào))
lgit rm:刪除文件(刪完之后要進(jìn)行commit操作谤逼,才能同步到版本庫(kù))
lgit clone:下載遠(yuǎn)程倉(cāng)庫(kù)到本地
p 下載遠(yuǎn)程倉(cāng)庫(kù)到當(dāng)前路徑:git clone 倉(cāng)庫(kù)的URL
p 下載遠(yuǎn)程倉(cāng)庫(kù)到特定路徑:git clone 倉(cāng)庫(kù)的URL 存放倉(cāng)庫(kù)的路徑
lgit pull:下載遠(yuǎn)程倉(cāng)庫(kù)的最新信息到本地倉(cāng)庫(kù)
lgit push:將本地的倉(cāng)庫(kù)信息推送到遠(yuǎn)程倉(cāng)庫(kù)
工作原理:如果想了解git的工作原理贵扰,有幾個(gè)核心概念必須知道
p 工作區(qū)(Working Directory):倉(cāng)庫(kù)文件夾里除.git目錄以外的內(nèi)容
p 版本庫(kù)(Repository):.git目錄,用于存儲(chǔ)記錄版本信息
ü暫緩區(qū)(stage)
ü分支(master):git自動(dòng)創(chuàng)建的第一個(gè)分支
üHEAD指針:用于指向當(dāng)前分支
lgit add和git commit的原理
p git add :把文件修改添加到暫存區(qū)
p git commit :把暫存區(qū)的所有內(nèi)容提交到當(dāng)前分支
如果是多人開(kāi)發(fā)流部,最好還是建立一個(gè)遠(yuǎn)程倉(cāng)庫(kù)戚绕,搭建遠(yuǎn)程倉(cāng)庫(kù)的途徑:
1、自己搭建一個(gè)git服務(wù)器:費(fèi)時(shí)費(fèi)力枝冀,
2舞丛、在github上托管項(xiàng)目:公開(kāi)項(xiàng)目免費(fèi)耘子,私有項(xiàng)目收費(fèi),很多第三方開(kāi)源項(xiàng)目球切,
3拴还、在oschina上托管項(xiàng)目:完全免費(fèi),在國(guó)內(nèi)訪問(wèn)速度快(推薦使用)