最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Git基礎(chǔ)學(xué)習(xí)之分支基本操作詳解

 更新時(shí)間:2022年10月24日 16:00:17   作者:繁華似錦Fighting  
這篇文章主要為大家詳細(xì)介紹了Git基礎(chǔ)學(xué)習(xí)中分支的基本操作,例如分支的創(chuàng)建、查看、切換和刪除等,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下

1、創(chuàng)建分支

(1)創(chuàng)建分支

Git 是怎么創(chuàng)建新分支的呢?

很簡(jiǎn)單,就是要?jiǎng)?chuàng)建一個(gè)可以移動(dòng)的新的指針。

比如,創(chuàng)建一個(gè)testing分支, 你需要使用命令:git branch testing

示例:

# 1.查看本地版本庫(kù)歷史提交
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git log --oneline
b97ccfd (HEAD -> master) 第3次提交,新增內(nèi)容:branch test v3
f72a9fe 第2次提交,新增內(nèi)容:branch test v2
fa2439a 第1次提交,新增readme.txt文件

# 2.新建分支testing
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git branch testing

# 3.再次查看本地版本庫(kù)歷史提交
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git log --oneline
b97ccfd (HEAD -> master, testing) 第3次提交,新增內(nèi)容:branch test v3
f72a9fe 第2次提交,新增內(nèi)容:branch test v2
fa2439a 第1次提交,新增readme.txt文件

可以看到(HEAD -> master, testing),說(shuō)明本地版本庫(kù)中,已經(jīng)多了一個(gè)testing分支。

(2)圖示理解

如上操作,會(huì)在當(dāng)前所在的提交對(duì)象上創(chuàng)建一個(gè)新的指針。

如下圖:

那么Git 又是怎么知道當(dāng)前在哪一個(gè)分支上呢? 也很簡(jiǎn)單,它有一個(gè)名為 HEAD 的特殊指針,HEAD指向當(dāng)前所在的本地分支上。

在本例中,是仍然在 master 分支上。 因?yàn)?nbsp;git branch 命令僅僅 創(chuàng)建 一個(gè)新分支,并不會(huì)自動(dòng)切換到新分支中去。

因?yàn)樯厦嫒罩拘畔ⅲ?code>(HEAD -> master, testing),也說(shuō)明HEAD指針指向的是master分支。

如下圖所示:

如圖所示,當(dāng)前 master 和 testing 分支均指向校驗(yàn)和以 b97ccfd 開(kāi)頭的提交對(duì)象。

2、查看分支列表

執(zhí)行命令:git branch。不用加任何參數(shù)。

如下圖:

該命令會(huì)列出當(dāng)前本地版本庫(kù)中存在的所有分支,且當(dāng)前正在工作的分支前會(huì)顯示*。

和命令行路徑后面( )中的內(nèi)容相對(duì)應(yīng)。

3、分支切換

要切換到一個(gè)已存在的分支,你需要使用 git checkout branchname 命令。

我們現(xiàn)在切換到新創(chuàng)建的 testing 分支去:

# 1.切換到testing分支上
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git checkout testing
Switched to branch 'testing' # 提示:切換到分支“testing”

# 2.查看當(dāng)前正在工作的分支。
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (testing) # 這里
$ git branch
  master
* testing   # 這里

現(xiàn)在 HEAD 就指向 testing 分支了。(即:HEAD 會(huì)指向當(dāng)前所在的分支)

提示:

在創(chuàng)建分支的時(shí)候,添加-b選項(xiàng),可以直接切換到新創(chuàng)建的分支上。

例如:git checkout -b testing

該命令等價(jià)于如下兩條命令:

  • git branch testing:創(chuàng)建分支。
  • git checkout testing:切換分支。

4、查看所有分支的最后一個(gè)提交

使用git branch -v命令可以查看,所有分支的最后一次提交。

我們?cè)?code>testing 分支修改readme.txt文件,再進(jìn)行一次提交。

# 1.查看當(dāng)前工作的分支
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (testing)
$ git branch
  master
* testing

# 2.修改文件,提交新版本
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (testing)
$ echo "branch test v4" >> readme.txt

L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (testing)
$ git commit -a -m '第4次提交,新增內(nèi)容:branch test v4'
warning: LF will be replaced by CRLF in readme.txt.
The file will have its original line endings in your working directory
[testing 25f0827] 第4次提交,新增內(nèi)容:branch test v4
 1 file changed, 1 insertion(+)

# 3.查看所有分支的最后一次提價(jià)
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (testing)
$ git branch -v
  master  b97ccfd 第3次提交,新增內(nèi)容:branch test v3
* testing 25f0827 第4次提交,新增內(nèi)容:branch test v4

# 4.查看版本庫(kù)歷史提交記錄
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (testing)
$ git log --graph --oneline
* 25f0827 (HEAD -> testing) 第4次提交,新增內(nèi)容:branch test v4
* b97ccfd (master) 第3次提交,新增內(nèi)容:branch test v3
* f72a9fe 第2次提交,新增內(nèi)容:branch test v2
* fa2439a 第1次提交,新增readme.txt文件

通過(guò)上面的日志信息,此時(shí) HEAD 指針的狀態(tài)如下圖:

可以看到 HEAD 隨著在testing 分支上的提交操作,自動(dòng)向前移動(dòng)。

5、刪除分支

使用命令:git branch -d branchname

但是要注意的是:若要?jiǎng)h除某分支,必須要保證當(dāng)前工作的分支,不能是該分支。

這個(gè)時(shí)候我們需要先切換回master分支。

L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (testing)
$ git checkout master
Switched to branch 'master'

L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git branch
* master
  testing

此時(shí) HEAD 指針的狀態(tài)如下圖:

image

說(shuō)明:git checkout master這條命令做了兩件事。

是使 HEAD 指回 master 分支。

是將工作目錄中文件,恢復(fù)成 master 分支所指向提交的快照內(nèi)容。

在切換分支時(shí),一定要注意你工作目錄里的文件會(huì)被改變,你的工作目錄會(huì)恢復(fù)到該分支最后一次提交時(shí)的樣子。如果 Git 不能干凈利落地完成這個(gè)任務(wù),它將禁止切換分支。(下面分支實(shí)戰(zhàn)中有詳細(xì)說(shuō)明)

也就是說(shuō),你現(xiàn)在做修改的話,項(xiàng)目將始于 master 分支版本。 本質(zhì)上來(lái)講,這就是忽略 testing分支所做的修改,以便于向另一個(gè)方向進(jìn)行開(kāi)發(fā)。

繼續(xù)我們開(kāi)始刪除 testing 分支。

L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git branch -d testing
error: The branch 'testing' is not fully merged.
If you are sure you want to delete it, run 'git branch -D testing'.

提示你:分支“testing”沒(méi)有合并到主分支,如果確定要?jiǎng)h除它,請(qǐng)運(yùn)行git branch -D testing命令。。

所以我們使用-D選項(xiàng)刪除 testing 分支。

# 1.刪除分支
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git branch -D testing
Deleted branch testing (was 25f0827).

# 2.查看本地庫(kù)中的分支,就只有master分支了
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git branch
* master

# 3.查看提交歷史記錄
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git log --graph --oneline
* b97ccfd (HEAD -> master) 第3次提交,新增內(nèi)容:branch test v3
* f72a9fe 第2次提交,新增內(nèi)容:branch test v2
* fa2439a 第1次提交,新增readme.txt文件
# 可以看到對(duì)testing分支的修改,只要沒(méi)有合并,對(duì)master分支是沒(méi)有影響的。

# 4.查看可回退的提交歷史記錄
L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)
$ git reflog
b97ccfd (HEAD -> master) HEAD@{0}: checkout: moving from testing to master
25f0827 HEAD@{1}: commit: 第4次提交,新增內(nèi)容:branch test v4
b97ccfd (HEAD -> master) HEAD@{2}: checkout: moving from master to testing
b97ccfd (HEAD -> master) HEAD@{3}: commit: 第3次提交,新增內(nèi)容:branch test v3
f72a9fe HEAD@{4}: commit: 第2次提交,新增內(nèi)容:branch test v2
fa2439a HEAD@{5}: commit (initial): 第1次提交,新增readme.txt文件

# 可以看到只要HEAD移動(dòng)過(guò),所有歷史軌跡都會(huì)保留在Git版本庫(kù)中。
# (也就是.git/objects目錄中的文件只能無(wú)限的增多,存儲(chǔ)了就不會(huì)刪除掉。)

提示:合并后的分支不僅無(wú)用,它的存在還會(huì)引起不必要的麻煩,一般都會(huì)刪除無(wú)用的分支。

以上就是Git基礎(chǔ)學(xué)習(xí)之分支基本操作詳解的詳細(xì)內(nèi)容,更多關(guān)于Git分支基本操作的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 在 WordPress 的頁(yè)眉(header)和頁(yè)腳(footer)添加代碼方法

    在 WordPress 的頁(yè)眉(header)和頁(yè)腳(footer)添加代碼方法

    這篇文章主要介紹了在 WordPress 的頁(yè)眉(header)和頁(yè)腳(footer)添加代碼方法
    2021-09-09
  • 對(duì)Web開(kāi)發(fā)人員有用的8個(gè)網(wǎng)站小結(jié)

    對(duì)Web開(kāi)發(fā)人員有用的8個(gè)網(wǎng)站小結(jié)

    本文是由比利時(shí)的Web開(kāi)發(fā)人員Jean-Baptiste Jung分享的,Jung還在《Web開(kāi)發(fā)/設(shè)計(jì)人員應(yīng)當(dāng)知道的15個(gè)網(wǎng)站》這篇文章中推薦了15個(gè)相關(guān)網(wǎng)站
    2011-05-05
  • 詳細(xì)講解計(jì)算機(jī)網(wǎng)絡(luò)——應(yīng)用層

    詳細(xì)講解計(jì)算機(jī)網(wǎng)絡(luò)——應(yīng)用層

    這不同類型的網(wǎng)絡(luò)應(yīng)用有不同的通信規(guī)則,因此應(yīng)用層協(xié)議是多種多樣的,比如DNS、FTP、Telnet、SMTP、HTTP、RIP、NFS等協(xié)議都是用于解決其各自的一類問(wèn)題
    2021-08-08
  • 如何使用VSCode插件Remote-Tunnels連接服務(wù)器

    如何使用VSCode插件Remote-Tunnels連接服務(wù)器

    本文介紹使用Remote?-?Tunnels連接服務(wù)器,該方法需要遠(yuǎn)程服務(wù)器有流暢的網(wǎng)絡(luò)環(huán)境,它使用微軟的服務(wù)來(lái)建立隧道,需要登錄GitHub,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2023-11-11
  • VSCode設(shè)置默認(rèn)打開(kāi)的瀏覽器的方法

    VSCode設(shè)置默認(rèn)打開(kāi)的瀏覽器的方法

    這篇文章主要介紹了VSCode設(shè)置默認(rèn)打開(kāi)的瀏覽器的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • zend stdio8.0 快捷鍵匯總集合

    zend stdio8.0 快捷鍵匯總集合

    接下來(lái)小編就為大家介紹一下在Zend Stdio 8.0版本中的快捷鍵匯總。需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助
    2013-10-10
  • Win10 BitLocker加密解密解決方案

    Win10 BitLocker加密解密解決方案

    這篇文章主要介紹了Win10 BitLocker加密解密解決方案,文中通過(guò)圖文講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2007-02-02
  • 性能測(cè)試監(jiān)控網(wǎng)絡(luò)吞吐量過(guò)程詳解

    性能測(cè)試監(jiān)控網(wǎng)絡(luò)吞吐量過(guò)程詳解

    這篇文章是關(guān)于性能的文章,主要介紹了性能測(cè)試中測(cè)試監(jiān)控網(wǎng)絡(luò)吞吐量過(guò)程,文中給了詳細(xì)的示例分析,有需要的朋友可以借鑒參考下
    2021-09-09
  • firefox 擴(kuò)展開(kāi)發(fā)技巧

    firefox 擴(kuò)展開(kāi)發(fā)技巧

    firefox 擴(kuò)展開(kāi)發(fā)
    2009-06-06
  • Config服務(wù)端連接Git配置的技巧

    Config服務(wù)端連接Git配置的技巧

    今天小編抽空給大家介紹Config服務(wù)端連接Git配置的技巧,代碼分為導(dǎo)入依賴和編寫配置文件的方法,代碼簡(jiǎn)單易懂,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2021-09-09

最新評(píng)論

比如县| 伊宁市| 新和县| 深水埗区| 南岸区| 五台县| 九江县| 资源县| 宁河县| 锡林郭勒盟| 客服| 内丘县| 濉溪县| 睢宁县| 孟津县| 乌鲁木齐县| 张家川| 张北县| 阿拉尔市| 沈阳市| 神池县| 乐山市| 美姑县| 株洲市| 泸定县| 宁武县| 来凤县| 鄂州市| 黎城县| 南部县| 赤城县| 石城县| 湘西| 新营市| 吴川市| 汤原县| 双流县| 集贤县| 宝兴县| 林甸县| 龙山县|