真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Git工作區(qū)儲藏兼談分支管理中的問題怎么解決

本篇內(nèi)容主要講解“Git工作區(qū)儲藏兼談分支管理中的問題怎么解決”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“Git工作區(qū)儲藏兼談分支管理中的問題怎么解決”吧!

網(wǎng)站的建設(shè)創(chuàng)新互聯(lián)公司專注網(wǎng)站定制,經(jīng)驗豐富,不做模板,主營網(wǎng)站定制開發(fā).小程序定制開發(fā),H5頁面制作!給你煥然一新的設(shè)計體驗!已為酒樓設(shè)計等企業(yè)提供專業(yè)服務(wù)。

問題回顧

小伙伴遇到的問題是這樣的:

現(xiàn)在有一個master分支,master分支中有一個文件叫01.txt,該文件中只有一行數(shù)據(jù),然后對01.txt執(zhí)行add和commit,然后再從master分支中創(chuàng)建出一個新的分支fa,切換到fa分支上,然后向01.txt中再添加一行數(shù)據(jù),添加成功之后,不做任何事情,再切換回master分支,此時用cat命令查看01.txt文件,發(fā)現(xiàn)竟然有兩行數(shù)據(jù),按理說master中的01.txt只有一行數(shù)據(jù),而fa中的01.txt有兩行數(shù)據(jù),整個過程如下圖:

Git工作區(qū)儲藏兼談分支管理中的問題怎么解決  

要搞清楚這個問題,得先明白下面這個問題:

cat命令和git無關(guān),就是用來查看文件的,我為了演示方便使用了cat命令,這和直接用記事本打開文件查看效果是一樣的。

可能眼尖的小伙伴已經(jīng)發(fā)現(xiàn)端倪了,我們上面這個操作少了兩個步驟,那就是add/commit,fa分支中的數(shù)據(jù)修改之后直接切換回了master,而沒有add/commit。正常情況下(修改數(shù)據(jù)后add/commit),如果master和fa分支中的數(shù)據(jù)不一致,我們執(zhí)行了git checkout -進(jìn)行分支的切換,這個時候工作區(qū)中的文件內(nèi)容也是會跟著變化的(大家可以通過cat命令或者直接在記事本中打開工作區(qū)的文件來查看這種變化),但是如果我在fa分支中修改了文件卻沒有add/commit就切換回master,此時如果工作區(qū)的文件變化了,可能會導(dǎo)致我在fa分支中的修改丟失,因此,這個時候工作區(qū)的文件就沒有變化,即工作區(qū)的文件內(nèi)容還是fa分支中修改的內(nèi)容。 

解決這個問題,我們有兩種方案,請小伙伴們往下看。

解決方案

方案一

第一種解決方案就是在某一個分支修改文件之后,先add并且commit之后再去切換分支,這個操作就比較簡單了,我這里就不再演示了。

方案二(儲藏)

第二種解決方案就是儲藏(Stashing),儲藏適用在如下場景中:

當(dāng)我在一個分支fa中修改了文件,但是還沒有完全改好,此時我并不想add/commit,但是這個時候有一個更急迫的事情在另外一個分支fb上需要我去做,我必須要切換分支。

在這樣一個場景中,如果我直接切換分支,會出現(xiàn)如下兩個問題:

1.從fa切換到fb之后,工作區(qū)的代碼還是fa的代碼,不符合我的工作要求。
2.假設(shè)我不在乎問題1,在fb中直接修改工作區(qū)的代碼,等我在fb中修改完后提交后再回到fa,會發(fā)現(xiàn)我之前的代碼丟失了。

為了解決這個問題,Git給我們提供了儲藏(Stashing)。

現(xiàn)在假設(shè)一開始master和fa分支中的文件內(nèi)容都是一致的,而且兩個分支的工作區(qū)都是干凈的,即沒有東西需要add/commit,此時,我在master中修改了文件,修改完成之后,執(zhí)行git status命令我們看到master中有東西需要add/commit,此時我想切換到fa分支中去,但是并不想對master分支執(zhí)行add/commit,這個時候我們可以執(zhí)行如下命令,先將當(dāng)前分支中的文件儲藏起來:

$ git stash

OK,執(zhí)行完git stash命令之后,再執(zhí)行git status,我們發(fā)現(xiàn)此時master分支已經(jīng)是干凈的了,此時我們可以愉快的切換到fa分支中去了,切換到fa分支之后,我們發(fā)現(xiàn)master中的修改并沒有干擾到fa分支,當(dāng)我們完成了fa分支中的工作之后,再回到master分支,此時執(zhí)行如下命令可以恢復(fù)剛剛儲藏的數(shù)據(jù):

$ git stash apply

上面這個命令執(zhí)行完之后,master分支中的工作區(qū)中的文件就恢復(fù)了,此時執(zhí)行git status就可以看到又有數(shù)據(jù)需要add/commit了。

我們也可將工作區(qū)儲藏多次,這個時候我們可以執(zhí)行如下命令來查看儲藏:

$ git stash list

執(zhí)行效果如下:

Git工作區(qū)儲藏兼談分支管理中的問題怎么解決

git stash apply表示恢復(fù)最近一次儲藏,如果我們想恢復(fù)到之前的某一次儲藏,可以加上儲藏的名字,如下:

$ git stash apply stash@{1}

還有一些其他的關(guān)于儲藏的命令:

1.恢復(fù)儲藏并出棧
$ git stash pop

執(zhí)行效果和git stash apply一樣,不同的是,這里執(zhí)行完之后,會將棧頂?shù)膬Σ匾瞥?/p>

2.刪除某一個儲藏
$ git stash drop stash@{4}

最后一個參數(shù)是指儲藏的名字。

到此,相信大家對“Git工作區(qū)儲藏兼談分支管理中的問題怎么解決”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!


網(wǎng)頁名稱:Git工作區(qū)儲藏兼談分支管理中的問題怎么解決
本文鏈接:http://weahome.cn/article/gpchjj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部