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

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

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

2023-04-09 16:13 作者:李狗俊0_0  | 我要投稿

版本控制

概念

版本控制、版本迭代、版本管理器

相關(guān)軟件

Git、SVN、CSV、VSS、TFS

版本控制軟件分類

1.本地版本控制:適合個(gè)人用

2.集中版本控制:

  • 所有的版本數(shù)據(jù)都存在服務(wù)器上,協(xié)同開發(fā)者從服務(wù)上同步更新或上傳自己的修改。代表軟件:SVN、CSV、VSS。
  • 優(yōu)缺點(diǎn):用戶本地只有自己以前同步的版本,不聯(lián)網(wǎng)的話,就看不到歷史版本,也無法切換版本驗(yàn)證問題,或在不同分支工作。
  • 所有數(shù)據(jù)都保存在單一的服務(wù)器上,有很大的風(fēng)險(xiǎn)這個(gè)服務(wù)器會(huì)損壞,這樣會(huì)丟失所有的數(shù)據(jù),當(dāng)然可以定期備份。

3.分布式版本控制系統(tǒng):git

  • 每個(gè)用戶都擁有全部的代碼。有安全隱患。
  • 不會(huì)因?yàn)榉?wù)器損壞或者網(wǎng)絡(luò)問題,造成不能工作的情況。
  • 所有版本信息倉(cāng)庫(kù)全部同步到本地的每個(gè)用戶,這樣就可以在本地查看所有的版本數(shù)據(jù),可以離線在本地提交,只需要在聯(lián)網(wǎng)是push到相應(yīng)服務(wù)器或者其他用戶那里。由于每個(gè)用戶那里保存的都是所有的版本書記,只要有一個(gè)用戶的設(shè)備沒問題,就可以恢復(fù)所有的數(shù)據(jù),但這增加了本地存儲(chǔ)空間的占用。

4.git和svn的區(qū)別

  • git是分布式,svn是集成式
  • 命令其實(shí)差不多


Git歷史

linux締造者linux torvalds開發(fā)出了Git。

Git免費(fèi)、開源,分布式版本控制系統(tǒng)。


Git環(huán)境配置

下載:

官網(wǎng)可以下載很慢;可以找鏡像下載;

卸載:

1.清理環(huán)境變量

2.程序與軟件中直接卸載即可

安裝:

無腦下一步即可(路徑選自己的路徑)

檢查:

軟件中有g(shù)it的三個(gè)程序;

任意文件夾下右鍵也可以看到對(duì)應(yīng)的程序。

mac在終端中輸入 git --version

which git


Linux常用命令

cd #改變目錄

cd.. #退回目錄

pwd #顯示路徑

clear #清屏

cls #清屏

ls #列出目錄中文件

touch #創(chuàng)建文件

rm #刪除文件

mkdir #創(chuàng)建文件夾

rm -rf #遞歸刪除

rm -r #刪除文件夾

mv #移動(dòng)文件

reset #重新初始化終端

history #顯示歷史命令

help #幫助

exit #退出


Git配置

git config --global user.name "lijun" #設(shè)置user.name

git config --global user.email "jun@qq.com" #設(shè)置user.email

git config -l #查看git配置

git config --system --list #win查看系統(tǒng)git配置

git config --global --list #(win/mac)查看本地git配置


Git創(chuàng)建本地倉(cāng)庫(kù)

mkdir mygit

cd mygit

git init #Git創(chuàng)建初始化本地倉(cāng)庫(kù)



Git基本理論

Git的3個(gè)工作區(qū)域

  • 工作目錄(working directory,是你平時(shí)存放代碼的目錄)
  • 暫存區(qū)域(stage/index,用于存放臨時(shí)的改動(dòng),事實(shí)它是一個(gè)文件,保存即提交到文件列表信息)
  • 資源倉(cāng)庫(kù)(Repository/Git directory)
  • 本地資源倉(cāng)庫(kù)(下圖的History)
  • 遠(yuǎn)端資源倉(cāng)庫(kù)(Remote,托管代碼的服務(wù)器,如:GitHub|Gitee)

不同區(qū)域的轉(zhuǎn)換關(guān)系如下:

Git的工作流程 :

  1. 在工作目錄(working directory)中添加、修改文件;
  2. git add #將需要進(jìn)行版本管理的文件放入暫存區(qū)
  3. git commit #將暫存區(qū)域的文件提交到git倉(cāng)庫(kù)

Git管理的文件有三種狀態(tài):

  • 已修改modified
  • 已暫存staged
  • 已提交committed


Git項(xiàng)目搭建

兩個(gè)搭建方法:

1.git init #本地新建倉(cāng)庫(kù)

2.git clone url #克隆遠(yuǎn)程倉(cāng)庫(kù)

日常使用6個(gè)命令:

  • git add #把文件從工作區(qū)加到暫存區(qū)
  • git commit #把文件從暫存區(qū)加到本地倉(cāng)庫(kù)
  • git push #從本地倉(cāng)庫(kù)推到遠(yuǎn)端倉(cāng)庫(kù)
  • git clone #克隆遠(yuǎn)端倉(cāng)庫(kù)
  • git checkout #丟棄修改,回滾操作
  • git pull #
  • git commit -m "注釋" #comment自己的修改,提交暫存區(qū)的內(nèi)容到本地倉(cāng)庫(kù)


Git文件操作

文件4種狀態(tài)(untracked|unmodify|modified|staged)

  1. Untracked:未跟蹤,此文件在文件夾中,但并沒有加入到git 庫(kù),不參與版本控制。通過 git add 狀態(tài)變?yōu)?span id="s0sssss00s" class="ql-color-#ffffff"> staged
  2. Unmodify:文件已經(jīng)入庫(kù),未修改,即版本庫(kù)中的文件快照內(nèi)容與文件夾中完全一致.這種類型的文件有兩種去處,如果它被修改,而變?yōu)?Modified ,如果使用 git rm 移出版本庫(kù),則成為 untracked 文件
  3. Modified:文件已修改,僅僅是修改,并沒有進(jìn)行其他的操作。這個(gè)文件也有兩個(gè)去處,通過 git add 可進(jìn)入暫存 git add staged 狀態(tài),使用 git checkout ,則丟棄修改過,返回到unmodify 狀態(tài)。這個(gè) git checkout 即從庫(kù)中取出文件,覆蓋當(dāng)前修改!
  4. Staged:暫存狀態(tài)。執(zhí)行 git commit 則將修改同步到庫(kù)中,這時(shí)庫(kù)中的文件和本地文件又變?yōu)橐恢?,文件?unmodify 狀態(tài)。執(zhí)行 git reset HEAD filename 取消暫存,文件狀態(tài)為Modified


查看文件狀態(tài):

  • git status #查看所有文件狀態(tài)
  • git status [filename] #查看文件filename狀態(tài)
  • git add . #添加所有文件到暫存區(qū)


忽略文件

有些時(shí)候我們不想把某些文件納入版本控制中,比如數(shù)據(jù)庫(kù)文件,臨時(shí)文件,涉及文件等。

在目錄下.gitignore文件中進(jìn)行設(shè)置忽略,文件書寫規(guī)則如下:

  1. 忽略文件中的空行或以井號(hào)(#)開始的行將會(huì)被忽略。
  2. 可以使用Linux通配符。例如:星號(hào)(*)代表任意多個(gè)字符,問號(hào)(?)代表一個(gè)字符,方括號(hào)[abc]代表可選字符范圍,大括號(hào) {string1,string2.} 代表可選的字符串等。
  3. 名稱的最前面有一個(gè)感嘆號(hào)(?。硎纠庖?guī)則 ,將不被忽略。
  4. 名稱的最前面是一個(gè)路徑分隔符(/),表示要忽略的文件在此目錄下,而子目錄中的文件不忽略。
  5. 名稱的最后面是一個(gè)路徑分隔符(/),表示要忽略的是此目錄下該名稱的子目錄,而非文件(默認(rèn)文件或目錄都忽略)

*.txt #忽略所有?txt結(jié)尾的文件

!lib. txt #lib.txt除外,其他都忽略

/temp #僅忽略項(xiàng)目根目錄下的TODO文件,不包括其它目錄temp

build/ #忽略bui1d/日錄下的所有文件

doc/*.txt #會(huì)忽略doc/notes.txt,但不包括 doc/server/arch.txt


使用碼云Gitee

  1. 注冊(cè)賬號(hào),完善個(gè)人信息
  2. 設(shè)置本機(jī)綁定SSH公鑰,實(shí)現(xiàn)免密碼登錄。
  3. 將公鑰信息public key添加到碼云賬戶中即可
  4. 使用碼云創(chuàng)建一個(gè)自己的倉(cāng)庫(kù)
  5. git clone url #遠(yuǎn)端倉(cāng)庫(kù)克隆到本地


IntelliJ IDEA中集成Git


GIT分支Branch(平行宇宙)

分支的例子

  • master #主分支,master是分支名
  • dev #開發(fā)分支develop
  • version1 #版本1的分支

Git分支的常用命令

  • git branch #查詢本地所有分支
  • git branch [branch-name] #新建分支
  • git checkout -b [branch] #新建分支,并切換新分支
  • git branch -r #查詢本地+遠(yuǎn)程分支
  • git merge [branch] #合并某分支,到當(dāng)前本地分支上
  • git push origin --delete [branch-name] #刪除遠(yuǎn)程分枝
  • git branch -dr [remote/branch] #刪除遠(yuǎn)程分枝
  • git branch -d 分支名 #刪除分支
  • 修改沖突后的文件后重新提交,選擇保留哪個(gè)代碼即可。
  • master主分支需要保證非常穩(wěn)定。


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

分享到微博請(qǐng)遵守國(guó)家法律
固镇县| 万山特区| 禄劝| 普格县| 镇安县| 富蕴县| 谢通门县| 灵川县| 全椒县| 常山县| 胶州市| 沅江市| 宝山区| 界首市| 泸溪县| 太和县| 衡阳市| 新民市| 临夏市| 襄城县| 阿合奇县| 德阳市| 金湖县| 呼伦贝尔市| 信丰县| 岢岚县| 高平市| 尼勒克县| 仁化县| 广河县| 莱阳市| 双鸭山市| 赤城县| 安宁市| 专栏| 奉节县| 裕民县| 通海县| 屏东县| 曲沃县| 巴南区|