最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊

【狂神說Java】Git最新教程通俗易懂

2022-11-09 16:07 作者:突刺刺突刺刺  | 我要投稿

P1 1、前言 之 版本控制

06:12

?

目錄

版本控制

聊聊Git歷史

git環(huán)境配置

git基本理論

git項(xiàng)目搭建

---------------

git文件操作

使用碼云

?IDEA中集成git

說明:git分支


版本控制 – 版本迭代 版本控制器

管理文件 修改歷史、記錄、備份

管理多人協(xié)同開發(fā)的項(xiàng)目技術(shù)

?

功能

??????實(shí)現(xiàn)跨區(qū)域多人協(xié)同開發(fā)

??????追蹤和記載一個(gè)或多個(gè)文件的歷史記錄

??????組織和保護(hù)你的源代碼和文檔

??????統(tǒng)計(jì)工作量

??????并行開發(fā)、提高開發(fā)效率

??????跟蹤記錄整個(gè)軟件的開發(fā)過程

??????減輕開發(fā)人員的福安,節(jié)省時(shí)間,同時(shí)降低認(rèn)為錯(cuò)誤

?

P2 2、Git和SVN的區(qū)別

07:38

?

本地版本控制

記錄文件每次的更新,可以對每個(gè)版本做一個(gè)快照,或是記錄補(bǔ)丁文件,適合個(gè)人使用,如RCS


?

集中版本控制(集群) SVN

所有的版本數(shù)據(jù)都保存在服務(wù)器上,協(xié)同開發(fā)者從服務(wù)器上同步更新或上傳自己的修改


所有的版本數(shù)據(jù)都存在服務(wù)器上,用戶的本地只有自己以前所同步的版本,如果不聯(lián)網(wǎng)的化,用戶就看不到歷史版本,也無法切換版本驗(yàn)證問題,或子啊不同分支工作。而且,所有數(shù)據(jù)都保存在單一的服務(wù)器上,由很大的風(fēng)險(xiǎn)這個(gè)服務(wù)器會(huì)損壞,這樣就會(huì)丟失所有的數(shù)據(jù),可以定期備份。

代表產(chǎn)品:SVN、CVS、VSS

需要定期備份

?

分布式版本控制 Git

每個(gè)人都擁有全部的代碼 安全隱患

所有版本信息倉庫全部同步到本地的每個(gè)用戶,這樣就可以在本地查看所有版本歷史,可以離線在本地提交,秩序在聯(lián)網(wǎng)時(shí)push到相應(yīng)的服務(wù)器或其他用戶那里。由于每個(gè)用戶那里保存的都是所有的版本數(shù)據(jù),只要有一個(gè)用戶的設(shè)備沒有問題就可以恢復(fù)所有的數(shù)據(jù),但這增加了本地存儲(chǔ)空間的占用。

不會(huì)因?yàn)榉?wù)器損壞或者網(wǎng)絡(luò)問題,造成不能工作的情況


?

Git VS SVN

SVN是集中式版本控制系統(tǒng),版本庫是集中放在中央服務(wù)器的,而工作的時(shí)候,用的都是自己的電腦,所有首先要從中央服務(wù)器得到最新的版本,然后工作,完成工作后,需要把自己昨晚的活推送到中央服務(wù)器。集中版本控制系統(tǒng)是必須聯(lián)網(wǎng)才能工作,對網(wǎng)絡(luò)帶寬要求較高。

GIT是分布式版本控制系統(tǒng),沒有中央服務(wù)器,每個(gè)人的電腦就是一個(gè)完整的版本庫,工作的時(shí)候不需要聯(lián)網(wǎng)了,因?yàn)榘姹径荚谧约弘娔X上。協(xié)同的方法是這樣的:比如說自己在電腦上改了文件A,其他人也在電腦上改了文件A,這時(shí),兩人只需要把各自修改推送給對方,就可以互相看到對方的修改了。

git是目前世界上最先進(jìn)的分布式版本控制系統(tǒng)。

Git可以直接看到更新了哪些代碼和文件

?

?

P3 3、聊聊Git的歷史

03:53

?

BitKeeper

?

P4 4、安裝Git及環(huán)境配置

07:02


下載慢 —— 鏡像下載

?

先卸載

環(huán)境變量

?

Git Bash:Unix和Linux風(fēng)格的命令行,使用最多,推薦最多

Git CMD:Windows風(fēng)格的命令行

Git GUI:圖形界面的Git,不建議初學(xué)者使用,盡量先熟悉常用命令

?

P5 5、常用的Linux命令

08:06

?

cd 改變目錄

cd.. 回退到上一個(gè)目錄,直接cd進(jìn)入默認(rèn)目錄

pwd 顯示當(dāng)前所在的目錄路徑

ls(ll) 都是列出當(dāng)前目錄的所有文件,只不過ll列出的內(nèi)容更為詳細(xì)

touch 新建一個(gè)文件 如:touch index.js就會(huì)在當(dāng)前目錄下新建一個(gè)index.js文件

rm 刪除一個(gè)文件,rm index.js就會(huì)把index.js文件刪除

mkdir 新建一個(gè)目錄,就是新建一個(gè)文件夾

rm -r 刪除一個(gè)文件夾,rm -r src刪除src目錄

mv移動(dòng)文件,mv index.html src index.html是我們要移動(dòng)的文件,src是目標(biāo)文件夾,當(dāng)然,這樣寫,必夾在同意目錄下

reset 重新初始化終端 / 清屏

clear 清屏

history 查看命令歷史

help 幫助

exit 退出

# 注釋

?

右鍵 新建文件夾

在文件夾里打開 Git Bash Here


?

P6 6、Git的必要配置

09:09

?

多有的配置文件都保存在本地

?

$ git config -l

$ git config –system --list

$ git config –golbal --list



配置郵箱地址

$ git config –global user.name “zhangsan”

$ git config –global user.email “zhangsan@qq.com”


?

P7 7、Git的工作原理

07:56

?

Git本地三個(gè)工作區(qū)域:

Workspace 工作目錄(平時(shí)放代碼的地方)

Index / Stage 暫存區(qū)(文件。用于臨時(shí)存放改動(dòng),保存即將提交到文件列表信息)

Repository 資源庫(資源。安全存放數(shù)據(jù)的位置,要提交到所有版本的數(shù)據(jù)。其中HEAD指向最新放入倉庫的版本)

+

Remote 遠(yuǎn)程的git倉庫(托管代碼的服務(wù)器,可以簡單的認(rèn)為是項(xiàng)目組中的一臺(tái)電腦用于遠(yuǎn)程數(shù)據(jù)交換)

?

本地的三個(gè)區(qū)域確切的說應(yīng)該是git倉庫中HEAD 指向的版本

HEAD(隱藏文件)


?Directory:使用git管理的一個(gè)目錄,也就是一個(gè)倉庫,包含我們的工作空間和git的管理空間

WorkSpace:需要通過git進(jìn)行版本控制的目錄和文件,這些目錄和文件組成了工作空間

.git:存放git管理信息的目錄,初始化倉庫的時(shí)候u自動(dòng)創(chuàng)建

Index / Stage:暫存區(qū),或叫待提交更新去,在提交進(jìn)入repo之前,我們可以把所有的更新放在暫存區(qū)

Local Repo:本地倉庫,一個(gè)存放在本地的版本庫;HEAD會(huì)只是當(dāng)前的開發(fā)分支(branch)

Stash:隱藏,是一個(gè)工作狀態(tài)保存棧,用于保存 / 恢復(fù)QorkSpace中的臨時(shí)狀態(tài)


Git的工作流程

1 在工作目錄中添加、修改文件

UserMapper.xml

2 將需要進(jìn)行版本管理的文件放入暫存區(qū)域

git add .

3 將暫存區(qū)域的文件提交到git倉庫

git commit


因此,git管理的文件由三種狀態(tài)

已修改(modified)

已暫存(staged)

已提交(committed)


P8 8、Git項(xiàng)目創(chuàng)建及克隆

05:34

?

命令

pull、fetch / clone、checkout、push、commit、add

?

創(chuàng)建本地倉庫的兩種方法:

創(chuàng)建全新的倉庫

git init

克隆遠(yuǎn)程倉庫 —— Clone


Github

Gitee

?

P9 9、Git的基本操作命令

09:18

?· Untracked:未跟蹤,此文件在文件夾中,但并沒有加入到git庫,不參與版本控制,通過git add狀態(tài)變?yōu)镾taged

· Unmodify:文件已經(jīng)入庫,未修改,即版本庫中的文件快照內(nèi)容與文件夾中完全一致,這種類型的文件有兩種去處,如果他被修改,而變?yōu)镸odified。如果使用git rm移除版本庫,則稱為Untracked文件

· Modified:文件已修改,僅僅是修改,并沒有進(jìn)行其他的操作。這個(gè)文件也有兩個(gè)去處,通過git add可進(jìn)入暫存Staged狀態(tài),使用git checkout,則丟棄修改過,返回到unmodify狀態(tài),這個(gè)git checkout,即從庫中取出文件,覆蓋當(dāng)前修改

· Staged:暫存狀態(tài)。執(zhí)行g(shù)it commit,則將修改同步到庫中,這時(shí)苦衷的文件和本地文件又變?yōu)橐恢拢募閁nmodify狀態(tài),執(zhí)行g(shù)it reset HEAD filename,取消暫存,文件狀態(tài)為Modified


?查看文件的狀態(tài)

查看指定文件狀態(tài)

git status [filename]

?查看所有文件狀態(tài)

git status

添加所有文件到暫存區(qū)

git add

提交暫存區(qū)中的內(nèi)容到本地倉庫 -m 提交信息

git commit -m "消息內(nèi)容"


忽略不需要上傳的文件

有時(shí)不把某些文件納入版本控制中,如:數(shù)據(jù)庫文件,臨時(shí)文件,設(shè)計(jì)文件等

在主目錄下建立“.gitignore”文件,此文件由如下規(guī)則:

1 忽略文件中的空行或以井號#開始的行將會(huì)被忽略

2 可以使用Linux通配符。

如:

*(代表任意多個(gè)字符)

?(代表一個(gè)字符)

[](代表可選字符范圍)

{}(代表可選的字符串)

3 如果名稱的最前面有一個(gè)!,標(biāo)識例外規(guī)則,將不被忽略

4 如果名稱的最前面是一個(gè)路徑分隔符/,表示要忽略的文件在此目錄下,而子目錄中的文件不忽略

5 如果名稱的最后面是一個(gè)路徑分隔符/,表示要忽略的時(shí)此目錄下該名稱的子目錄,而非文件(默認(rèn)文件或目錄都忽略)


/ 的位置

在前面:往上走

先后面:往下走

?

*.class

*.log

*.lock


# Package Files #

*.jar

*.war

*.ear

target/


# idea

.idea/

*.iml


*velocity.log*


### STS ###

.apt_generated

.factorypath

.springBeans


### IntelliJ IDEA ###

*.iml

*.ipr

*.iws

.idea

.classpath

.project

.settings/

bin/


*.log

tmp/


#rebel

*rebel.xml*

?

P10 10、碼云的注冊和使用

06:46

?

P11 11、配置SSH公鑰及創(chuàng)建遠(yuǎn)程倉庫

08:25

?

P12 12、IDEA中集成Git操作

12:44

?

1 新建項(xiàng)目,綁定git

??????將遠(yuǎn)程的git文件目錄拷貝到項(xiàng)目中


?

2 修改文件,使用IDEA操作git

??????提交到暫存區(qū)

??????Commit提交到本地

??????Push到遠(yuǎn)程倉庫


Commit提交信息

提交到本地

不檢查 省時(shí)間

3 提交測試

?

?

快速提交:

git add .

git commit -m “文件名”

git push


?

P13 13、關(guān)于Git中分支說明

11:31

?

Master 主分支

· 新建一個(gè)分支,但依然停留在當(dāng)前分支

git branch [brach -name]

· 新建一個(gè)分支,并切換到該分支

git checkout -b [branch]

· 合并指定分支到當(dāng)前分支

git merge [branch]

· 刪除分支

git branch -d [branch-name]

· 刪除遠(yuǎn)程分支

git push origin --delete [branch-name]

git branch -dr [remote/branch]


多個(gè)分支如果并行執(zhí)行,會(huì)導(dǎo)致代碼不沖突,

即同時(shí)存在多個(gè)版本

?

master主分支應(yīng)該非常穩(wěn)定,用來發(fā)布新版本,一般情況下不允許在上面工作,工作一般情況下在新建的dev分支上工作,工作完后,如發(fā)布,或dev分支代碼穩(wěn)定后可以合并到主分支master上。

?

P14 14、Git后續(xù)操作說明

05:16

?

Gitee頁面下的導(dǎo)航欄 —— 用于學(xué)習(xí)(git命令、git下載)

?

【狂神說Java】Git最新教程通俗易懂的評論 (共 條)

分享到微博請遵守國家法律
东海县| 元氏县| 肃北| 呼和浩特市| 遂宁市| 仲巴县| 德江县| 定远县| 老河口市| 奉化市| 任丘市| 东乡族自治县| 曲麻莱县| 四川省| 大余县| 五莲县| 垦利县| 郸城县| 乌拉特前旗| 阿克陶县| 兴山县| 鞍山市| 班戈县| 南丰县| 常宁市| 六盘水市| 铜陵市| 盱眙县| 额尔古纳市| 隆德县| 奉贤区| 平陆县| 从化市| 沧源| 瑞安市| 司法| 阳信县| 墨脱县| 锡林郭勒盟| 浮山县| 遂川县|