源代碼管理工具_(dá)第1頁(yè)
源代碼管理工具_(dá)第2頁(yè)
源代碼管理工具_(dá)第3頁(yè)
源代碼管理工具_(dá)第4頁(yè)
源代碼管理工具_(dá)第5頁(yè)
已閱讀5頁(yè),還剩30頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論