2023Git基礎(chǔ)教學(xué)課件_第1頁(yè)
2023Git基礎(chǔ)教學(xué)課件_第2頁(yè)
2023Git基礎(chǔ)教學(xué)課件_第3頁(yè)
2023Git基礎(chǔ)教學(xué)課件_第4頁(yè)
2023Git基礎(chǔ)教學(xué)課件_第5頁(yè)
已閱讀5頁(yè),還剩40頁(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概念及相關(guān)操作

?Gitee(碼云)的使用

2

文件概念及文件特征

?文件是計(jì)算機(jī)系統(tǒng)中信息存放的一種形式。由于計(jì)算機(jī)系統(tǒng)中的

文件都存放在磁盤(pán)、磁帶、光盤(pán)等外存儲(chǔ)器中,所以通俗地說(shuō),

文件是存放在外存儲(chǔ)器上的程序、數(shù)據(jù)和符號(hào)等信息的集合。

?文件的基本特征:

?能長(zhǎng)期存放在某種存儲(chǔ)介質(zhì)上

?有一個(gè)命名標(biāo)記,稱(chēng)為文件名稱(chēng)

?能被唯一地確定,即不致因同名而產(chǎn)生混亂

3

文件命名

?文件的名稱(chēng)由文件名和擴(kuò)展名兩部分組成。文件名稱(chēng)的一般格

式為:

filename[.EXT]

filename為文件名,EXT為擴(kuò)展名,也稱(chēng)為后綴,[]表示其中

的內(nèi)容是可選的,即可以不要擴(kuò)展名。擴(kuò)展名表示文件的類(lèi)型,

如exe表示可執(zhí)行文件,docx表示W(wǎng)ord文檔。

文件目錄(文件夾)

?文件目錄(文件夾),是文件名稱(chēng)與文件存儲(chǔ)位置的一個(gè)對(duì)照表。

?Windows及Bta的文件系統(tǒng)都采用樹(shù)狀層次結(jié)構(gòu)

5

?下圈副巔麒中的文件結(jié)構(gòu)。

整個(gè)文件系統(tǒng)的根

/bin/存放著最經(jīng)常使用的命令

/boot/存放啟動(dòng)Linux時(shí)使用的一些核心文件

/dev/設(shè)備文件目錄

/etc/系統(tǒng)管理所需要的配置文件和子目錄

I—/etc/init.d/系統(tǒng)服務(wù)啟動(dòng)配置腳本目錄

+———/etc/???

-/home/用戶(hù)的主目錄

/lib/存放系統(tǒng)所需的共享庫(kù)和靜態(tài)庫(kù)

/media/光驅(qū)、軟驅(qū)、USB存儲(chǔ)設(shè)備加載所用的目錄

/mnt/加載的文件系統(tǒng)目錄

-/opt/某些可選軟件安裝后放入此目錄

/proc/不是真正的文件系統(tǒng),操作系統(tǒng)運(yùn)行時(shí),進(jìn)程

信息及內(nèi)核信息(比如cpu、硬盤(pán)分區(qū)、

內(nèi)存信息等)存放在這里

/root/根用戶(hù)(root用戶(hù))的主目錄

-/sbin/存放系統(tǒng)管理命令,一般只供root用戶(hù)使用

/tmp/存放系統(tǒng)運(yùn)行過(guò)程中的臨時(shí)文件,一般在系統(tǒng)

重啟后將被清空

6

根目錄和子目錄

?根目錄又稱(chēng)為系統(tǒng)目錄,Windows中用“\”來(lái)表示,Linux中用

來(lái)表示。子目錄是包含在根目錄或其他子目錄中的目錄。

>Windows系統(tǒng)中的路徑名分割符為“\",而Linux系統(tǒng)中的路徑名分割符則是

?Windows下一般有多個(gè)磁盤(pán)分區(qū),因此有多個(gè)根目錄。而Linux下只有

一個(gè)根目錄。

?每個(gè)子目錄都包含兩個(gè)特別的目錄項(xiàng)。

>第一項(xiàng)為“丁,表示自己是一個(gè)子目錄;

鏟^^第二項(xiàng)為“.丁,表示該子目錄的上一級(jí)目錄。

7

文件的路徑名

?以Windows為例,當(dāng)建立一個(gè)新文件或查找一個(gè)老文件時(shí),系統(tǒng)必須知道文

件所在盤(pán)的盤(pán)符,包含該文件的各級(jí)目錄及文件名稱(chēng),稱(chēng)其為文件的引用名。

文件引用名是文件的唯一標(biāo)識(shí)符,因此不能同時(shí)有兩個(gè)引用名相同的文件。

?Windows中,文件引用名的完整格式為“盤(pán)符:、路徑名'文件名.擴(kuò)展名”,例

如:D:\user\march\record.docxo其中,盤(pán)符為C、D、E等。而路徑名又分為

絕對(duì)路徑名和相對(duì)路徑名。

?Linux中沒(méi)有分盤(pán)的概念,絕對(duì)路徑是從唯一的根目錄下開(kāi)始的,如

/user/bin/notepad.exe

絕對(duì)路徑和相對(duì)路徑

?以Windows為例,絕對(duì)路徑名由從樹(shù)型目錄的根結(jié)點(diǎn)開(kāi)始,直到該

文件為止的各級(jí)目錄加上分隔符所組成。

例如:C:\SYSTEM\PCTOOLS.EXE

?絕對(duì)路徑名必須以開(kāi)始,以代表根目錄。而相對(duì)路徑名由從

當(dāng)前目錄的下一層目錄開(kāi)始,直到該文件為止的各級(jí)子目錄加上分

隔符所組成。相對(duì)路徑名不能以開(kāi)始。例如當(dāng)前目錄是

D:\user,用訪問(wèn)該目錄下的march子目錄中的record.docx文件,可

使用相對(duì)路徑:march\record.docx

x和Windows類(lèi)似。

9

常見(jiàn)文件操作命令

功能WindowsLinux

顯示文件及文件夾dirIs

顯示當(dāng)前目錄dirpwd

創(chuàng)建文件夾mdmkdir

改變文件夾cdcd

刪除文件夾rdrmdir

創(chuàng)建文件copy(例如:copycontest.txt)touch

刪除文件delrm

復(fù)制文件copycp

移動(dòng)文件movemv

顯示文件typecat

示例:(Linux環(huán)境)

?1.在git實(shí)訓(xùn)中點(diǎn)擊命令行標(biāo)簽,進(jìn)入命令行界面。

?2.輸入touchtest.txt,創(chuàng)建一^H斤文件。

?3.輸入vitest.txt,進(jìn)入vi編輯模式。

?4.按i鍵,進(jìn)入編輯模式,輸入hell。;按ESC鍵,退出編輯;按英文冒號(hào)鍵,再按x鍵,保存退出。

?5.輸入cattest.txt,顯示文件內(nèi)容。

?6.輸入mkdiruser,創(chuàng)建一^文件夾。

?7.輸入cduser,進(jìn)入創(chuàng)建的文件夾user。

?8.輸入pwd,顯示當(dāng)前目錄。

?9.輸入cp../test.txttest!.txt,將上一層目錄的文件test.txt拷貝過(guò)來(lái)并改名為test】.txt。

?10.輸入Is,顯示當(dāng)前目錄的所有內(nèi)容。

?11.輸入cd..,返回上一層目錄。

?12.輸入rmdiruser,刪除user目錄?!ㄥe(cuò)誤提示:目錄不為空,不能刪除

?13.輸入mvuser/testl.txttest2.txt,移動(dòng)user目錄中的文件到當(dāng)前目錄并改名為test2.txt,移動(dòng)文件后user

目錄為空

?14.輸入rmdiruser。刪除user目錄。

>文件概念及文件操作

>Git概念及相關(guān)操作

?Gitee(碼云)的使用

12

軟件分類(lèi)

?商業(yè)軟件:商業(yè)軟件是在計(jì)算機(jī)軟件中,指被作為商品進(jìn)行交易的軟件,在國(guó)內(nèi)

商業(yè)軟件一般是有音像制品發(fā)布權(quán)和著作權(quán)保護(hù)的軟件。在2000之前中國(guó)國(guó)內(nèi)市

場(chǎng)上基本上被商業(yè)軟件所統(tǒng)治。

?共享軟件:共享軟件是為了促進(jìn)IT業(yè)的發(fā)展,軟件開(kāi)發(fā)商或自由軟件者推出的免

費(fèi)產(chǎn)品,共享版軟件一般有次數(shù)、時(shí)間、用戶(hù)數(shù)量限制;用戶(hù)可以通過(guò)注冊(cè)來(lái)解

除限制O

?免費(fèi)軟件:免費(fèi)軟件是軟件開(kāi)發(fā)商為了推介其主力軟件的產(chǎn)品,擴(kuò)大公司的影響,

免費(fèi)向用戶(hù)發(fā)放的軟件產(chǎn)品。還有一些是自由軟件者開(kāi)發(fā)的免費(fèi)產(chǎn)品。免費(fèi)軟件

一般有廣告,不用錢(qián),無(wú)限制。

?開(kāi)放源代碼軟件:開(kāi)放源代碼軟件是這樣一種軟件,它們?cè)诎l(fā)布時(shí)附帶了旨在確

保將某些權(quán)利授予用戶(hù)的許可證。當(dāng)然,最明顯的權(quán)利就是源代碼必須可用,以

便用戶(hù)能自由地修改和再分發(fā)該軟件。

13

?Git

。Git是一個(gè)分布式版本控制系統(tǒng),這意味著每個(gè)開(kāi)發(fā)人員的計(jì)算機(jī)上都可以使用整

個(gè)代碼庫(kù)和歷史記錄,這樣可以輕松進(jìn)行分支和合并。

?GitHub

。GitHub是一家營(yíng)利性公司,提供基于云的Git存儲(chǔ)庫(kù)托管服務(wù)。

?Gitee

。Gitee和Github是同一類(lèi),在云端。區(qū)別是Github是國(guó)外的,Gitee是國(guó)內(nèi)的。二

者的使用均需要借助Git。

。Gitee是OSCHINA.NET推出的代碼托管平臺(tái),支持Git,提供免費(fèi)的私有倉(cāng)庫(kù)托

管。目前已有超過(guò)350萬(wàn)的開(kāi)發(fā)者選擇碼云。

14

什么是版本控制

文檔庫(kù)

版本文件名用戶(hù)說(shuō)明日期

work

1service.doc運(yùn)刪除了軟件服務(wù)條款57/1210:38

readme-readme-2service.doc壇增加了License人數(shù)限制7/1218:09

副本.doc0712.doc

readme-3service.doc李四財(cái)務(wù)部門(mén)調(diào)整了合同金額7/139:51

0709.doc

4service.doc虻延長(zhǎng)了免益升級(jí)磨7/1415:17

readme-readme-

儆.doc副本

(2J.doc

版本控制可幫助開(kāi)發(fā)人員跟蹤和管理軟件項(xiàng)目代碼的更改。例如:對(duì)于一

個(gè)大項(xiàng)目。如果核心開(kāi)發(fā)人員想在代碼庫(kù)的某個(gè)特定部分上工作,那么直

接編輯“官方”源代碼是不安全或無(wú)效的。而版本控制允許開(kāi)發(fā)人員安全

地完成分支和合并。通過(guò)分支,開(kāi)發(fā)人員復(fù)制部分源代碼并可安全更改代

碼的這一部分,而不會(huì)影響項(xiàng)目的其余部分。而且,一旦開(kāi)發(fā)人員使他的

部分代碼正常工作,他就可以將該代碼合并回主要源代碼以使其正式化。

然后目跟0蹤版儂些更改,并在需要時(shí)還原。

15

版本控制的歷史

?手工管理

?日志記錄

?集中式版本控制(cvs,svn)

>分布式版本控制(git)

16

Git的基本概念

17

工作區(qū),暫存區(qū),版本庫(kù)

?工作區(qū)(WorkingDirectory)-當(dāng)前的工作目錄

?版本庫(kù)(Repository)

一工作區(qū)L版本庫(kù)

卜master

SaddD

BtE

B

L0

B

E

18

本地版本庫(kù)-(1)創(chuàng)建本地版本庫(kù)

>在安裝好Git后,可以創(chuàng)建一個(gè)本地版本庫(kù)。

卜首先需要?jiǎng)?chuàng)建一個(gè)目錄,做為本地版本庫(kù),然后使用gitinit命令,將

其初始化為一個(gè)本地版本庫(kù)。如下所示:

#在/卜。016目錄下,創(chuàng)建repo目錄

mkdir/home/repo

#進(jìn)入repo目錄

cd/home/repo

#將repo初始化為一個(gè)本地版本庫(kù)

19

本地版本庫(kù)-(2)添加修改到暫存區(qū)域

#倉(cāng)|」建helloGit.txt文件

touchhelloGit.txt

#提交helloGit.txt到暫存區(qū)

gitaddhelloGit.txt

本地版本庫(kù)-(3)提交修改到本地倉(cāng)庫(kù)

#提交helloGit.txt到本地倉(cāng)庫(kù)

gitcommit-m"HelloGit!"

21

遠(yuǎn)程版本庫(kù)-(1)Clone遠(yuǎn)程版本庫(kù)

#將遠(yuǎn)程版本庫(kù)clone到本地

gitclone/tmp/sample.git

遠(yuǎn)程版本庫(kù)-(2)添加遠(yuǎn)程版本庫(kù)

#添加遠(yuǎn)程版本庫(kù)需要用到的命令是gitremoteadd,其命令格式為:

gitremoteadd"遠(yuǎn)程倉(cāng)庫(kù)名”“遠(yuǎn)程倉(cāng)庫(kù)地址”,例如

gitremoteaddgit/tmp/sample.git

遠(yuǎn)程版本庫(kù)-(3)推送本地內(nèi)容到遠(yuǎn)程倉(cāng)庫(kù)

#推送本地內(nèi)容時(shí),會(huì)將所有未推送至遠(yuǎn)程倉(cāng)庫(kù)的內(nèi)容,都提交到遠(yuǎn)程

倉(cāng)庫(kù)。它用到的命令是gitpush,使用方法如下:gitpush遠(yuǎn)程倉(cāng)庫(kù)

名本地分支名遠(yuǎn)程分支名,例如:

gitpushgitmaster:master

遠(yuǎn)程版本庫(kù)-(4)拉取遠(yuǎn)程分支到本地

#拉取遠(yuǎn)程倉(cāng)庫(kù)的內(nèi)容到本地,需要使用gitpull命令,其命令格式為:

gitpull遠(yuǎn)程主機(jī)名遠(yuǎn)程分支名本地分支名,例如:

gitpullgitmaster:master

分支管理-(1)創(chuàng)建本地分支

#當(dāng)需要?jiǎng)?chuàng)建一個(gè)新的分支的時(shí)候,可以使用gitbranch命令,其具體

使用格式為:gitbranch新的分支名字,例如:

gitbranchgitTraining

#創(chuàng)建新分支的同時(shí)切換到一個(gè)新的分支,有一個(gè)更為簡(jiǎn)潔的命令:

gitcheckout-b,它的使用格式為:gitcheckout-b新的分支名字,

例如:

gitcheckout-bgitTraining

26

分支管理-(2)刪除本地分支

#刪除本地分支,需要用到gitbranch命令,且需要-D參數(shù),具體命

令格式為:gitbranch-D需要?jiǎng)h除的分支的名字,例如刪除分支

develop:

gitbranch-Ddevelop

分支管理-(3)刪除遠(yuǎn)程分支

#刪除分支用到的git命令是gitpush,有兩種方法:

1.通過(guò)推送空分支到遠(yuǎn)程分支,實(shí)現(xiàn)刪除,推送空分支實(shí)現(xiàn)刪除的方

法是:gitpush遠(yuǎn)程主機(jī)名:遠(yuǎn)程分支,例如

gitpushorigin:develop

2.通過(guò)delete參數(shù)刪除遠(yuǎn)程分支。命令格式為:gitpush遠(yuǎn)程主機(jī)名

--delete遠(yuǎn)程分支名,例如:

pushorigin--deletedevelop

28

分支管理-(4)本地分支合并

#分支合并需要用到gitmerge命令,具體的命令格式為:gitmerge

需要合并的分支,例如,將git分支合并到當(dāng)前主分支master:

gitmergegit

日志和版本回退-(1)回到前一次提交

#版本回退可以用gitrevert命令,例如:

gitrevertHEAD撤銷(xiāo)前一次commit

gitrevertHEADA撤銷(xiāo)前前一次commit

#版本回退還可以用gitreset命令,;例如:

gitresetHEAD撤銷(xiāo)前一次commit

#gitrevert是用一次新的commit來(lái)回滾之前的commit,gitreset是

?直接刪_一除指定的commit。

30

日志和版本回退-(2)撤銷(xiāo)修改

#如果只是工作區(qū)有了修改,可以使用gitcheckout進(jìn)行撤銷(xiāo),具體如

下:gitchekcout-hello。通過(guò)這種方式,就可將hello文件自上個(gè)

commit之后,尚未add進(jìn)暫存區(qū)的修改丟棄。

#當(dāng)將有錯(cuò)誤的文件add進(jìn)暫存區(qū)后,可以使用gitreset丟棄修改。即:

gitresetHEAD文件名,但此時(shí)修改仍舊保留在工作區(qū)。

#如果尚未add進(jìn)暫存區(qū),則可以使用:gitreset--hardHEAD這樣

就能徹底丟棄修改,即將修改從暫存區(qū)及工作區(qū)徹底刪除。

31

日志和版本回退-(3)刪除文件

#從倉(cāng)庫(kù)中刪除文件的一般過(guò)程為:

1.gitrm<--cached>文件名

2.gitcommit-m”提交信息“

例如:

gitrm一一cachedhelloGit

gitcommit-m”刪除helloGit”

標(biāo)簽-(1)創(chuàng)建標(biāo)簽

#創(chuàng)建標(biāo)簽的命令格式為:gittag標(biāo)簽名commitID,例如:

gittagvl.0

標(biāo)簽-(2)推送指定標(biāo)簽

#推送指定標(biāo)簽到遠(yuǎn)程倉(cāng)庫(kù)的Git命令如下:gitpush遠(yuǎn)程主機(jī)名tag

名,其中遠(yuǎn)程主機(jī)名為遠(yuǎn)程Git版本庫(kù)對(duì)應(yīng)的主機(jī)名,tag名為準(zhǔn)備推送

的標(biāo)簽名。例如:

gitpushoriginvl.0

34

標(biāo)簽-(3)推送全部標(biāo)簽

#推送全部標(biāo)簽需要用到:gitpush遠(yuǎn)程主機(jī)名-tags,例如:

gitpushorigin--tags

35

標(biāo)簽-(4)刪除標(biāo)簽

#刪除本地標(biāo)簽,需要用到的命令格式為:gittag-d標(biāo)簽名,例如:

gittag-dvl.0

#刪除遠(yuǎn)程標(biāo)簽,可以使用:gitpushorigin--deletetag標(biāo)簽名,

或者使用:gitpushorigin:refs/tags/<tagname>,即推送一個(gè)

空tag名到遠(yuǎn)程倉(cāng)庫(kù),其中<tagname>指某個(gè)標(biāo)簽的名字。

36

沖突處理、忽略文件-(1)解決沖突

#沖突包括以下兩種:

?內(nèi)容沖突:針對(duì)版本庫(kù)中某個(gè)文件的某項(xiàng)內(nèi)容,不同的操作對(duì)其做了

不同的修改,以致于在合并不同的操作時(shí)發(fā)生矛盾。解決方法:1.手

動(dòng)編輯沖突區(qū)域;2,執(zhí)行g(shù)itadd,將編輯提交到暫存區(qū);3.執(zhí)行g(shù)it

commit,將編輯提交到本地倉(cāng)庫(kù)以解決沖突。

?樹(shù)沖突:文件名修改造成的沖突,稱(chēng)為樹(shù)沖突。解決方法:刪除沖突

一文件,添加正確文件并提交。

37

沖突處理、忽略文件-(2)強(qiáng)制操作

?強(qiáng)制推送如果遠(yuǎn)程的某個(gè)分支的內(nèi)容需要被覆蓋,這個(gè)時(shí)候需要進(jìn)行

強(qiáng)制推送,使用本地內(nèi)容去覆蓋該分支。

?強(qiáng)制合并如果本地分支的內(nèi)容需要被遠(yuǎn)程內(nèi)容覆蓋,這個(gè)時(shí)候需要強(qiáng)

制合并遠(yuǎn)程分支內(nèi)容到本地。

?強(qiáng)制刪除如果需要強(qiáng)制刪除版本庫(kù)、暫存區(qū)或者工作區(qū)的內(nèi)容時(shí),就

需要強(qiáng)制刪除。比如之前介紹的checkout,就可以使用-f參數(shù),強(qiáng)制

丟棄本地修改。

38

沖突處理、忽略文件-(3)忽略文件

?如何忽略文件:在Git工作區(qū)的根目錄下,創(chuàng)建一個(gè)特殊的.gitignore

文件,把要忽略的文件名或者文件名的通配符填進(jìn)去,然后

將,gitignore提交到本地倉(cāng)庫(kù),這樣Git就會(huì)在用戶(hù)添加或者提交時(shí),

自動(dòng)忽略這些文件。

?自定義忽略文件:如果需要自己定義忽略哪些文件,就需要將其添加

到.gitignore文件中去。可以使用文件的全稱(chēng),或者使用正則匹配的

通配符。

39

遠(yuǎn)程分支、rebase、儲(chǔ)藏-(1)合并原創(chuàng)分支

?合并遠(yuǎn)程分支的一般步驟是:

A第一步,分別獲取遠(yuǎn)程分支內(nèi)容到本地;

A第二步,在本地將兩個(gè)分支合并;

A第三步,將合并后的本地分支推送到遠(yuǎn)程分支,完成合并。

40

遠(yuǎn)程分支、rebase、儲(chǔ)藏-(2)rebase

#rebase的基本操作是將某個(gè)分支的修改到指定分支,其命令格式為:git

rebase基分支源分支,其中'基分支'是我們的新的‘基',而'源分支'就

是需要進(jìn)行變基操作的分支。這樣就能實(shí)現(xiàn)將源分支變基到基分支。例如:

gitrebasemasterdevelop

#以上語(yǔ)句就能實(shí)現(xiàn)將develop變基到master分支。如果是將當(dāng)前分支變基到指

定分支,則可以直接使用:gitrebase基分支,這一命令默認(rèn)將當(dāng)前分支變基

到'基分支

溫馨提示

  • 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)論