git revert后記

之前寫過一篇簡單的git revert學(xué)習(xí),在之后的業(yè)務(wù)中通過導(dǎo)師的分享又發(fā)現(xiàn)了一些有趣的事情,所以再寫一篇

場(chǎng)景

我們用git revrt一般都是提交了之后發(fā)現(xiàn)哪里有問題再回退回來,一般都是處于一個(gè)分支下的,如果某次我做完了我自己的工作,去跟master合并,合并完畢之后已經(jīng)git push了,這時(shí)發(fā)現(xiàn),呀,有一些不必要的測(cè)試代碼還在里面想要回退自己的這次合并又不想影響master和其他人做的合并之類的操作要怎么辦?

答案: 可以利用git revert -m <number> <commitid>來解決

過程

首先我們創(chuàng)建一個(gè)test分支并寫入一行文字并commitpush,在這之后在master分支上也在同一個(gè)文件寫入一行文字并commitpush,這時(shí)兩者文件狀態(tài)如下:

# lkc @ lkc in ~/Desktop/Code/NovelSearchTool on git:master x [15:07:55]
$ git commit -m "master修改代碼" -a
[master 170b561] master修改代碼
 1 file changed, 1 insertion(+), 1 deletion(-)

# lkc @ lkc in ~/Desktop/Code/NovelSearchTool on git:master o [15:08:12]
$ git push origin master
Counting objects: 4, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (4/4), done.
Writing objects: 100% (4/4), 374 bytes | 0 bytes/s, done.
Total 4 (delta 3), reused 0 (delta 0)
remote: Resolving deltas: 100% (3/3), completed with 3 local objects.
To github.com:xdlkc/NovelSearchTool.git
   3baaee3..170b561  master -> master
master內(nèi)容
# lkc @ lkc in ~/Desktop/Code/NovelSearchTool on git:test o [15:08:56]
$ git commit -m "test修改代碼" -a
[test 0ad5647] test修改代碼
 1 file changed, 1 insertion(+), 1 deletion(-)

# lkc @ lkc in ~/Desktop/Code/NovelSearchTool on git:test o [15:09:18]
$ git push origin test
Counting objects: 6, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (6/6), done.
Writing objects: 100% (6/6), 823 bytes | 0 bytes/s, done.
Total 6 (delta 3), reused 0 (delta 0)
remote: Resolving deltas: 100% (3/3), completed with 3 local objects.
To github.com:xdlkc/NovelSearchTool.git
   5edbba6..0ad5647  test -> test
test內(nèi)容

這時(shí)我們?cè)?code>test分支上進(jìn)行合并:

# lkc @ lkc in ~/Desktop/Code/NovelSearchTool on git:test o [15:12:18]
$ git merge master
Auto-merging biz/zip.py
CONFLICT (content): Merge conflict in biz/zip.py
Automatic merge failed; fix conflicts and then commit the result.

不出所料,會(huì)報(bào)沖突,那我們把這個(gè)沖突解決掉,然后再提交:

# lkc @ lkc in ~/Desktop/Code/NovelSearchTool on git:test x [15:12:19] C:1
$ git add biz/zip.py

# lkc @ lkc in ~/Desktop/Code/NovelSearchTool on git:test x [15:14:18]
$ git commit -m "解決合并沖突"

這時(shí)我們利用VS code的插件來查看一下git的提交歷史:

git歷史

可以看出第一條就相當(dāng)于我們進(jìn)行merge操作的提交,現(xiàn)在如果我們發(fā)現(xiàn)test分支的代碼有問題不想合并了,就可以利用

git revert -m <number> <id>

來撤銷我們的合并,number指的是合并時(shí)各個(gè)分支的順序,可以查看log來確定:


merge歷史

這里如果想撤銷0ad開頭的就是1,170則是2,那么都代表什么呢,看一下剛剛的git歷史,我們會(huì)發(fā)現(xiàn)0ad就是test之前處于的版本,而170則是master處于的分支;接下來的id就是指的本次commit id也就是157,下面我們測(cè)試一下如果想把當(dāng)前版本撤成test分支:

# lkc @ lkc in ~/Desktop/Code/NovelSearchTool on git:test o [15:32:30]
$ git revert -m 1 157d82
[test 8bb8c01] Revert "解決合并沖突"
 1 file changed, 1 deletion(-)
撤銷合并

會(huì)提示已經(jīng)回退修改的文件了,并且157的版本回退到了0ad的版本,查看一下歷史:


log

可以看到版本更新了,回退成功!

后記

這次學(xué)習(xí)耗時(shí)挺久時(shí)間,因?yàn)閷?duì)于版本的更新不是很清楚原理,命令也不是特別熟,同時(shí)也學(xué)到了其他一些東西,比如微軟出的vscode,上手之后簡直不要太舒服,atom和sublime之前都說著做最優(yōu)秀的代碼編輯器,耗費(fèi)了那么久還各種bug,微軟出了個(gè)小團(tuán)隊(duì)簡簡單單就打造了一個(gè)集成各種插件,可視化工具的編輯器,這次主要利用的是Git這個(gè)插件,還有各種其他的atom有的微軟基本都有,git方面還可以可視化解決沖突,查看歷史,提交修改等等,感覺還是團(tuán)隊(duì)的實(shí)力有一定的差距

對(duì)于我自己,這次也學(xué)到了其他相關(guān)的命令,如:

// 查看本地的所有操作記錄
git reflog
// 不需要使用add添加修改的文件到暫存區(qū),-a選項(xiàng)可以自動(dòng)將所有修改更新到暫存區(qū)
git commit -m "..." -a
// 撤銷master4到master2版本之間的所有修改
git revert -n master4..master2
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市茄茁,隨后出現(xiàn)的幾起案子呕童,更是在濱河造成了極大的恐慌愉棱,老刑警劉巖同诫,帶你破解...
    沈念sama閱讀 210,914評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件吕粹,死亡現(xiàn)場(chǎng)離奇詭異庭敦,居然都是意外死亡历涝,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,935評(píng)論 2 383
  • 文/潘曉璐 我一進(jìn)店門淀零,熙熙樓的掌柜王于貴愁眉苦臉地迎上來挽绩,“玉大人,你說我怎么就攤上這事窑滞∏砟粒” “怎么了?”我有些...
    開封第一講書人閱讀 156,531評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵哀卫,是天一觀的道長巨坊。 經(jīng)常有香客問我,道長此改,這世上最難降的妖魔是什么趾撵? 我笑而不...
    開封第一講書人閱讀 56,309評(píng)論 1 282
  • 正文 為了忘掉前任,我火速辦了婚禮共啃,結(jié)果婚禮上占调,老公的妹妹穿的比我還像新娘。我一直安慰自己移剪,他們只是感情好究珊,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,381評(píng)論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著纵苛,像睡著了一般剿涮。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上攻人,一...
    開封第一講書人閱讀 49,730評(píng)論 1 289
  • 那天取试,我揣著相機(jī)與錄音,去河邊找鬼怀吻。 笑死瞬浓,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的蓬坡。 我是一名探鬼主播猿棉,決...
    沈念sama閱讀 38,882評(píng)論 3 404
  • 文/蒼蘭香墨 我猛地睜開眼磅叛,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了铺根?” 一聲冷哼從身側(cè)響起宪躯,我...
    開封第一講書人閱讀 37,643評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎位迂,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體详瑞,經(jīng)...
    沈念sama閱讀 44,095評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡掂林,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,448評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了坝橡。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片泻帮。...
    茶點(diǎn)故事閱讀 38,566評(píng)論 1 339
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖计寇,靈堂內(nèi)的尸體忽然破棺而出锣杂,到底是詐尸還是另有隱情,我是刑警寧澤番宁,帶...
    沈念sama閱讀 34,253評(píng)論 4 328
  • 正文 年R本政府宣布元莫,位于F島的核電站,受9級(jí)特大地震影響蝶押,放射性物質(zhì)發(fā)生泄漏踱蠢。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,829評(píng)論 3 312
  • 文/蒙蒙 一棋电、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦站超、人聲如沸寸癌。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,715評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽撕攒。三九已至,卻和暖如春沉眶,著一層夾襖步出監(jiān)牢的瞬間打却,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,945評(píng)論 1 264
  • 我被黑心中介騙來泰國打工谎倔, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留柳击,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,248評(píng)論 2 360
  • 正文 我出身青樓片习,卻偏偏與公主長得像捌肴,于是被迫代替她去往敵國和親蹬叭。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,440評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容