版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
源代碼管理工具
Git王順子
簡(jiǎn)介什么是git?git是一款開(kāi)源的分布式版本控制工具在世界上所有的分布式版本控制工具中,git是最快、最簡(jiǎn)單、最流行的git的起源作者是Linux之父:LinusBenedictTorvalds當(dāng)初開(kāi)發(fā)git僅僅是為了輔助Linux內(nèi)核的開(kāi)發(fā)(管理源代碼)git的現(xiàn)狀在國(guó)外已經(jīng)非常普及,國(guó)內(nèi)并未普及(在慢慢普及)越來(lái)越多的開(kāi)源項(xiàng)目已經(jīng)轉(zhuǎn)移到git其他版本控制工具CVS最早的開(kāi)源、免費(fèi)的集中式版本控制工具自身設(shè)計(jì)有問(wèn)題,會(huì)造成提交文件不完整,版本庫(kù)莫名其妙損壞的情況SVN修正了CVS的一些穩(wěn)定性問(wèn)題,是目前用得最多的集中式版本庫(kù)控制工具ClearCase收費(fèi)的集中式版本控制工具,安裝比Windows還大,運(yùn)行比蝸牛還慢能用ClearCase的一般是世界500強(qiáng),他們有個(gè)共同的特點(diǎn)是財(cái)大氣粗或者人傻錢(qián)多VSS微軟的集中式版本控制工具,集成在Visual
Studio中集中式版本控制分布式版本控制git和SVN的簡(jiǎn)單對(duì)比速度在很多情況下,git的速度遠(yuǎn)遠(yuǎn)比SVN快結(jié)構(gòu)SVN是集中式管理,git是分布式管理其他SVN使用分支比較笨拙,git可以輕松擁有無(wú)限個(gè)分支SVN必須聯(lián)網(wǎng)才能正常工作,git支持本地版本控制工作舊版本的SVN會(huì)在每一個(gè)目錄置放一個(gè).svn,git只會(huì)在根目錄擁有一個(gè).gitSVN的工作流程git的工作流程分布式和集中式的最大區(qū)別在于:在分布式下開(kāi)發(fā)者可以本地提交每個(gè)開(kāi)發(fā)者機(jī)器上都有一個(gè)服務(wù)器的數(shù)據(jù)庫(kù)工作原理如果想了解git的工作原理,有幾個(gè)核心概念必須知道工作區(qū)(Working
Directory):倉(cāng)庫(kù)文件夾里除.git目錄以外的內(nèi)容版本庫(kù)(Repository):.git目錄,用于存儲(chǔ)記錄版本信息暫緩區(qū)(stage)分支(master):git自動(dòng)創(chuàng)建的第一個(gè)分支HEAD指針:用于指向當(dāng)前分支git
add和git
commit的原理gitadd:把文件修改添加到暫存區(qū)gitcommit
:把暫存區(qū)的所有內(nèi)容提交到當(dāng)前分支工作原理工作原理工作原理Git使用環(huán)境多人開(kāi)發(fā)時(shí)需要一個(gè)共享版本庫(kù),單人開(kāi)發(fā)初始化一個(gè)本地庫(kù)即可共享版本庫(kù)的形式:本地共享庫(kù):文件夾/U盤(pán)/硬盤(pán)遠(yuǎn)程共享庫(kù):自己搭建git服務(wù)器/托管到第三方平臺(tái)(例如github,oschina)無(wú)論是單人開(kāi)發(fā)還是多人開(kāi)發(fā),客戶(hù)端都可以使用命令行或者圖形界面使用gitSourceTree下載地址:GitHub下載地址:不過(guò)它是專(zhuān)門(mén)為GitHub網(wǎng)站而設(shè)計(jì)的Xcode
雖然集成較好,但是只能做一些常用的簡(jiǎn)單操作,復(fù)雜操作還要使用命令行g(shù)it常用指令git
help
:git指令幫助手冊(cè)查看其他指令的做法:git
help其他指令git
init
:初始化本地倉(cāng)庫(kù)git
config
:git的配置信息相關(guān)(修改的是.git/config文件)配置用戶(hù)名:git
config
用戶(hù)名(用于跟蹤修改記錄)配置郵箱:git
config
user.email郵箱(用于多人開(kāi)發(fā)間的溝通)查看配置信息:git
config
–l編輯配置信息:git
config
–e(用vim編輯,:wq是退出vim編輯器)設(shè)置指令的別名:gitconfigalias.別名
原指令名稱(chēng)設(shè)置帶參數(shù)指令的別名:gitconfigalias.別名“原指令名稱(chēng)參數(shù)”將此設(shè)置應(yīng)用到整個(gè)系統(tǒng)中:gitconfig––gloabalgit常用指令git
status
:查文件的狀態(tài)查看某個(gè)文件的狀態(tài):git
status文件名查看當(dāng)前路徑所有文件的狀態(tài):git
statusgit
log
:查看文件的修改日志查看某個(gè)文件的修改日志:git
log文件名查看當(dāng)前路徑所有文件的修改日志:git
log用一行的方式查看簡(jiǎn)單的日志信息:git
log
––pretty=oneline查看最近的N次修改:git
log
–N(N是一個(gè)整數(shù))git
diff
:查看文件最新改動(dòng)的地方查看某個(gè)文件的最新改動(dòng)的地方:git
diff文件名查看當(dāng)前路徑所有文件最新改動(dòng)的地方:git
diffgit常用指令git
init
:初始化一個(gè)空的本地倉(cāng)庫(kù),生成一個(gè).git目錄,用于維護(hù)版本信息在當(dāng)前路徑初始化倉(cāng)庫(kù):git
init在其他路徑初始化倉(cāng)庫(kù):git
init倉(cāng)庫(kù)路徑git
add
:將工作區(qū)的文件保存到暫緩區(qū)保存某個(gè)文件到暫緩區(qū):git
add文件名保存當(dāng)前路徑的所有文件到暫緩區(qū):git
add
.(注意,最后是一個(gè)點(diǎn).
)git
commit
:將暫緩區(qū)的文件提交到當(dāng)前分支提交某個(gè)文件到分支:gitcommit-m”注釋”文件名保存當(dāng)前路徑的所有文件到分支:gitcommit-m”注釋”git常用指令git
reset
:版本回退(建議加上––hard參數(shù),git支持無(wú)限次后悔)回退到上一個(gè)版本:git
reset
––hard
HEAD^回退到上上一個(gè)版本:git
reset
––hard
HEAD^^回退到上N個(gè)版本:git
reset
––hard
HEAD~N(N是一個(gè)整數(shù))回退到任意一個(gè)版本:git
reset
––hard版本號(hào)(版本號(hào)用7位即可)git
reflog
:查看指令使用記錄(能夠查看所有的版本號(hào))git
rm:刪除文件(刪完之后要進(jìn)行commit操作,才能同步到版本庫(kù))git常用指令git
clone:下載遠(yuǎn)程倉(cāng)庫(kù)到本地下載遠(yuǎn)程倉(cāng)庫(kù)到當(dāng)前路徑:git
clone倉(cāng)庫(kù)的URL下載遠(yuǎn)程倉(cāng)庫(kù)到特定路徑:git
clone倉(cāng)庫(kù)的URL存放倉(cāng)庫(kù)的路徑git
pull:下載遠(yuǎn)程倉(cāng)庫(kù)的最新信息到本地倉(cāng)庫(kù)git
push:將本地的倉(cāng)庫(kù)信息推送到遠(yuǎn)程倉(cāng)庫(kù)遠(yuǎn)程倉(cāng)庫(kù)如果是多人團(tuán)隊(duì)開(kāi)發(fā),最好還是搭建一個(gè)遠(yuǎn)程倉(cāng)庫(kù)搭建遠(yuǎn)程倉(cāng)庫(kù)的途徑自己搭建一個(gè)git服務(wù)器:費(fèi)時(shí)費(fèi)力在GitHub上托管項(xiàng)目:公開(kāi)項(xiàng)目免費(fèi)、私有項(xiàng)目收費(fèi),很多第三方開(kāi)源項(xiàng)目在oschina上托管項(xiàng)目:完全免費(fèi),在國(guó)內(nèi)訪問(wèn)速度快(推薦使用)搭建GitHub遠(yuǎn)程倉(cāng)庫(kù)–配置SSH
Key注冊(cè)一個(gè)GitHub帳號(hào):打開(kāi)“AccountSettings”點(diǎn)擊“SSHkeys”配置Mac的SSHKey的公鑰(用于限制提交)搭建GitHub遠(yuǎn)程倉(cāng)庫(kù)–配置SSH
Key查看ssh版本$ssh–v打開(kāi)終端,$ssh-keygen一路enter下。在Mac上生成SSH
Key(在終端輸入下面指令)cd~/.sshssh-keygen-trsa-C"你的郵箱地址”然后一直敲回車(chē)然后就會(huì)在~/.ssh目錄下生成SSK
Key的秘鑰對(duì)id_rsa:私鑰,不可泄露id_rsa.pub:公鑰,可以公開(kāi)(將這個(gè)文件的內(nèi)容粘貼到GitHub上)利用cat指令可以查看文件的內(nèi)容catid_rsa.pub搭建GitHub遠(yuǎn)程倉(cāng)庫(kù)–添加倉(cāng)庫(kù)搭建GitHub遠(yuǎn)程倉(cāng)庫(kù)–添加倉(cāng)庫(kù)拷貝倉(cāng)庫(kù)地址,用于下載到本地搭建GitHub遠(yuǎn)程倉(cāng)庫(kù)–刪除倉(cāng)庫(kù)如果想刪除倉(cāng)庫(kù),也很簡(jiǎn)單搭建oschina遠(yuǎn)程倉(cāng)庫(kù)–創(chuàng)建倉(cāng)庫(kù)注冊(cè)一個(gè)oschina帳號(hào):搭建oschina遠(yuǎn)程倉(cāng)庫(kù)–倉(cāng)庫(kù)地址搭建oschina遠(yuǎn)程倉(cāng)庫(kù)–創(chuàng)建倉(cāng)庫(kù)添加項(xiàng)目組成員隨后需要在終端設(shè)置git的郵箱和用戶(hù)名,不然沒(méi)有訪問(wèn)倉(cāng)庫(kù)的權(quán)限搭建oschina遠(yuǎn)程倉(cāng)庫(kù)–刪除倉(cāng)庫(kù)備份版本本地版本庫(kù)Master分支開(kāi)發(fā)中..V1.0完成v1.0V2.0開(kāi)發(fā)…共享版本庫(kù)master分支V1.0完成v1.00>提交v1.0版本到共享庫(kù)git
push1>打標(biāo)簽,備份v1.0版本git
tag
–a
v1.0
–m
“標(biāo)記v1.0版本”2>上傳標(biāo)簽到共享版本庫(kù)git
push
origin
v1.0備份版本解決Bug-1經(jīng)理本地Master分支開(kāi)發(fā)中..V1.0完成v1.0共享庫(kù)Master分支V1.0完成v1.0V2.0..牛大本地V1.0fixbug分支牛大本地Master分支V1.0完成v1.0V2.0..V2.0..V1.0完成v1.0V1.0修復(fù)bugV1.1V1.1V1.0完成v1.0V1.0修復(fù)bugV1.1共享庫(kù)V1.0fixbug分支1>打標(biāo)記:
gittag-av1.0-m“備份1.0版本2>提交到遠(yuǎn)程服務(wù)器:
gitpushoriginv1.03>克隆項(xiàng)目到牛大:
git
clone4>根據(jù)v1.0版本新建分支v1.0fixbug
gitcheckoutv1.0-bv1.0fixbug5>打標(biāo)簽備份v1.1
git
tag
–a
v1.1
–m
“標(biāo)記v1.1版本”6>上傳標(biāo)簽到共享庫(kù)
git
push
origin
v1.17>上傳分支到共享庫(kù)
git
push
origin
v1.0fixbug備份版本解決Bug-2經(jīng)理本地Master分支開(kāi)發(fā)中..V1.0完成v1.0共享庫(kù)Master分支V1.0完成v1.0V2.0..V2.0..V1.1V1.0完成v1.0V1.0修復(fù)bugV1.1共享庫(kù)V1.0fixbug分支1>更新本地master分支git
pull3>合并分支后,提交到本地庫(kù)并上傳到共享版本庫(kù)2>合并遠(yuǎn)程v1.0fixbug分支到本地master分支gitmergeorigin/v1.0fixbug-m“合并分支”
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度產(chǎn)業(yè)園租賃及產(chǎn)業(yè)孵化基地建設(shè)合同4篇
- 2025年度拆除工程風(fēng)險(xiǎn)評(píng)估分包合同示范文本4篇
- 2025年LED路燈節(jié)能升級(jí)項(xiàng)目購(gòu)銷(xiāo)及維護(hù)合同3篇
- 2025年度商業(yè)街租賃合同標(biāo)準(zhǔn)范本4篇
- 2025年度彩鋼房拆除與裝配式建筑推廣合同范本3篇
- 2025年度廠房建設(shè)項(xiàng)目環(huán)境影響評(píng)價(jià)合同范本4篇
- 2024版招商引資居間合同協(xié)議書(shū)范本
- 2025年度電子游戲角色插畫(huà)開(kāi)發(fā)合同4篇
- 2025年度生物醫(yī)藥產(chǎn)業(yè)項(xiàng)目合作協(xié)議范本4篇
- 資產(chǎn)評(píng)估服務(wù)房屋征收項(xiàng)目測(cè)繪實(shí)施方案
- 2025年經(jīng)濟(jì)形勢(shì)會(huì)議講話報(bào)告
- 北師大版小學(xué)三年級(jí)上冊(cè)數(shù)學(xué)第五單元《周長(zhǎng)》測(cè)試卷(含答案)
- 國(guó)家安全責(zé)任制落實(shí)情況報(bào)告3篇
- 2024年度順豐快遞冷鏈物流服務(wù)合同3篇
- 六年級(jí)下冊(cè)【默寫(xiě)表】(牛津上海版、深圳版)(漢譯英)
- 合同簽訂培訓(xùn)
- 電工基礎(chǔ)知識(shí)培訓(xùn)課程
- 鐵路基礎(chǔ)知識(shí)題庫(kù)單選題100道及答案解析
- 金融AI:顛覆與重塑-深化理解AI在金融行業(yè)的實(shí)踐與挑戰(zhàn)
- 住宅樓安全性檢測(cè)鑒定方案
評(píng)論
0/150
提交評(píng)論