欧美成人午夜免费全部完,亚洲午夜福利精品久久,а√最新版在线天堂,另类亚洲综合区图片小说区,亚洲欧美日韩精品色xxx

扣丁學(xué)堂Linux培訓(xùn)分享你必須要熟練掌握的git命令

2019-08-29 11:45:03 6120瀏覽

git現(xiàn)在的火爆程度非同一般,它被廣泛地用在大型開(kāi)源項(xiàng)目,團(tuán)隊(duì)開(kāi)發(fā),以及獨(dú)立開(kāi)發(fā)者,甚至學(xué)生之中。本篇這篇文章扣丁學(xué)堂Linux培訓(xùn)小編給大家分享了一些你必須要熟練掌握的git命令,文中通過(guò)示例代碼介紹的非常詳細(xì),需感興趣的小伙伴就隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。

扣丁學(xué)堂Linux培訓(xùn)分享你必須要熟練掌握的git命令

一些基本的操作


#全局配置
git config --global user.name "your username"
git config --global user.email youremail@email.com
git config --global color.ui true

#
mkdir git_proj & cd git_proj
git init
echo "# readme.md" >> README.md
git add README.md
git commit -m "readme commit"
# 添加遠(yuǎn)程倉(cāng)庫(kù) 并給它取個(gè)別名 origin
git remote add origin git@github.com:username/repositoryName.git
# 將本地倉(cāng)庫(kù)推送至 origin 的 master 分支并與此分支關(guān)聯(lián)(-u 的作用,后期不必在使用)
git push -u origin master

# 從遠(yuǎn)程倉(cāng)庫(kù) origin 的 master 分支獲取最新源碼并下載到 tmp 分支
git fetch origin master:tmp
# 比對(duì) tmp 分支于 master 分支做了哪些改動(dòng)
git diff master tmp
# 合并 tmp 分支到 master 分支
git merge tmp

# clone copy 一個(gè)完整的遠(yuǎn)端倉(cāng)庫(kù)到本地
git clone git@github.com:username/repositoryName.git

# pull 獲取 origin 的 master 分支并直接和當(dāng)前分支合并
# 所以可能會(huì)發(fā)生沖突
git pull origin master


checkout


checkout 命令有兩個(gè)主要作用:切換分支 和 回滾文件到當(dāng)前的 stage 版本 或 repository 版本


1、切換分支

# 切換到 new_branch 分支
git checkout new_branch
# 創(chuàng)建并切換到 new_branch 分支
git checkout -b new_branch


2、回滾工作區(qū)的文件到最新 stage 版本 或 repository 版本,即從 stage 或 repository 中檢出最新版本

# -- 是文件標(biāo)示符 表名后面的參數(shù)為文件 避免產(chǎn)生切換 branch 的歧義
git checkout -- <filename>


回滾時(shí)會(huì)先檢查 stage 中是否有對(duì)應(yīng)的文件,如果沒(méi)有才會(huì)使用 repository 中最新的版本。而當(dāng)對(duì)某文件進(jìn)行了多次修改和 add 操作后,使用 checkout 我們只能將文件回滾到最新一次的 add 的版本。


但在某些場(chǎng)景下我們可能想回滾到 repository 中的最新版本,怎么做呢?配合 reset 命令的可以很容易做到。


先給出命令:

git reset HEAD <filename> & git checkout -- <filename>


這樣就可以將工作區(qū)的 filename 回滾到 repository 中的最新版本了。具體原理我們將在實(shí)例中詳細(xì)的講解。


reset

git 的 reset 命令比較繞,需要耐心的理解。簡(jiǎn)單來(lái)說(shuō),reset 有三種重置級(jí)別,我們需要準(zhǔn)確理解每個(gè)級(jí)別的作用。


soft:回退版本號(hào)。作用于 repository

mixed:回退版本號(hào),重置 stage。作用于 repository 和 stage

hard :回退版本號(hào),重置 stage,重置工作區(qū)源碼。作用于 repository,stage 和 workspace

我們簡(jiǎn)單展示下 repository 的版本號(hào),我們以此為 demo 分別嘗試三個(gè)級(jí)別的 reset


git log

version D (HEAD) <-- HEAD指針
version C (HEAD^)
version B (HEAD^^)
version A (HEAD~3)


命令格式:

git reset [--soft|--mixed|--hard] version_no <filename>


--soft:只是單純的移動(dòng) repository 的 HEAD指針 到制定版本號(hào)。stage 和工作區(qū)沒(méi)有任何變化。

# 將 HEAD 指針回滾至上一版本 使用 git log 你會(huì)發(fā)現(xiàn)提交日志退回到了上一版本號(hào)
git reset --soft HEAD^
#版本號(hào)現(xiàn)狀
version C <-- HEAD指針
version B
version A


--mixed:默認(rèn)選項(xiàng),移動(dòng) repository 的 HEAD指針 到指定版本號(hào),同時(shí)用此版本重置 stage 區(qū),所以可能會(huì)讓工作區(qū)的某些文件處于 unstage 狀態(tài)(當(dāng)工作區(qū)的文件與 repository 中的版本不一致時(shí))。注意,這里是可以指定文件的。soft 本身和文件無(wú)關(guān),hard 則是不能單獨(dú)指定文件,只能全部重置。


# HEAD指針 還是指向 HEAD 
git reset HEAD^2 <filename>
#版本號(hào)現(xiàn)狀
version B <-- HEAD指針
version A


HEAD指針 指向 version B,并且 stage 已經(jīng)被 version B 的文件重置,工作區(qū)則不受影響。

這里有個(gè)很實(shí)用的小技巧:

git reset version_no <filename> & git checkout -- <filename>


這兩個(gè)命令組合在一起可以讓工作區(qū)的指定文件回滾到 repository 中對(duì)應(yīng)的 version_no 版本。
如果 version_no 是 HEAD 的話那就可以回滾文件到最新一次的提交。


--hard:謹(jǐn)慎使用?。。∫苿?dòng) repository 的 HEAD指針 到指定版本號(hào),同時(shí)用此版本重置 stage 區(qū) 和 工作區(qū)源碼。這里要特別注意,工作區(qū)的源碼也會(huì)被覆蓋重置掉,你的修改會(huì)全部丟失。簡(jiǎn)單來(lái)說(shuō)就是將代碼徹底恢復(fù)到指定版本。hard 是沒(méi)辦法指定文件的,要么回滾,要么全回滾。


# HEAD指針 還是指向 HEAD 
git reset --hard HEAD^3
#版本號(hào)現(xiàn)狀
version A <-- HEAD指針


此時(shí),HEAD指針 指向 version A,并且 stage 和 工作區(qū)的文件已經(jīng)被 version A 的文件重置。整個(gè)項(xiàng)目的狀態(tài)完全回到提交 version A 時(shí)按下回車鍵的那一刻。


想要了解更多關(guān)于Linux方面內(nèi)容的小伙伴,請(qǐng)關(guān)注扣丁學(xué)堂Linux培訓(xùn)官網(wǎng)、微信等平臺(tái),扣丁學(xué)堂IT職業(yè)在線學(xué)習(xí)教育平臺(tái)為您提供權(quán)威的Linux視頻,扣丁學(xué)堂老師精心推出的Linux視頻教程定能讓你快速掌握Linux從入門(mén)到精通開(kāi)發(fā)實(shí)戰(zhàn)技能??鄱W(xué)堂Linux技術(shù)交流群:422345477。


                          JavaEE/微服務(wù)/源碼解析/分布式/企業(yè)級(jí)架構(gòu)【VIP體驗(yàn)課】


     【關(guān)注微信公眾號(hào)獲取更多學(xué)習(xí)資料】        【掃碼進(jìn)入JavaEE/微服務(wù)VIP免費(fèi)公開(kāi)課】  



查看更多關(guān)于“Linux培訓(xùn)資訊”的相關(guān)文章>>


標(biāo)簽: Linux培訓(xùn) Linux視頻教程 紅帽Linux視頻 Linux學(xué)習(xí)視頻 Linux入門(mén)視頻 紅帽RHCE/RHCSA考試

熱門(mén)專區(qū)

暫無(wú)熱門(mén)資訊

課程推薦

微信
微博
15311698296

全國(guó)免費(fèi)咨詢熱線

郵箱:codingke@1000phone.com

官方群:148715490

北京千鋒互聯(lián)科技有限公司版權(quán)所有   北京市海淀區(qū)寶盛北里西區(qū)28號(hào)中關(guān)村智誠(chéng)科創(chuàng)大廈4層
京ICP備2021002079號(hào)-2   Copyright ? 2017 - 2022
返回頂部 返回頂部