使用git stash導致代碼消失的一次經(jīng)歷(血淚史)

事情的起因

在寫一個項目的時候伯顶,因為是多人開發(fā)囚灼,需要用到git。但總有不想push的時候祭衩≡钐澹可是又想看一下隊友的代碼,腫么辦掐暮?蝎抽?
這時候,今天的主角登場了——

git stash
剛知道的這個命令的時候路克,那叫一個爽呀樟结。不用push,就可以pull別人的代碼精算,在本地合并(當然瓢宦,大家不要學我,還是要多多push比較好)
但是幸福的日子總是短暫的灰羽。很快驮履,我就玩脫了……
一個平靜的上午,我git stash然后git pull在本地合并了之后我輸入了git stash pop
……
我感覺我的代碼并沒有發(fā)生變化
是不是剛剛那行代碼沒起作用廉嚼?
于是玫镐,我又在terminal里輸入git stash pop
……
不!G岸臁摘悴!
……
一朝回到解放前
其實這時候只要再來一句git stash pop stash@{0} 問題就可以解決了
可是……我那時不知道啊=⒒妗!葱椭!
當你突然發(fā)現(xiàn)你幸幸苦苦肝了很久的代碼捂寿,煙消云散,相信我孵运,你會抓狂的:)
從那以后秦陋,我再也不敢肆無忌憚的擺弄我項目的git了
并且我開始

洗心革面 學習git stash

定義

首先,我們來看看官方文檔對 git-stash 的定義吧

git-stash - Stash the changes in a dirty working directory away

Use git stash when you want to record the current state of the working directory and the index, but want to go back to a clean working directory. The command saves your local modifications away and reverts the working directory to match the HEAD commit.

蛤治笨?說人話
stash 在漢語中的意思就是 存儲驳概、貯藏 赤嚼。
如果你想保留存儲工作目錄和索引當前狀態(tài)的記錄,但是你又想回到之前干凈的工作目錄繼續(xù)工作顺又,就用它啦更卒。它會保存你本地的更改并且使工作目錄恢復為HEAD指針所指的提交。

可以再人話一點嗎稚照?
這個定義就是說蹂空,git-stash 這一大類命令是在你現(xiàn)在寫的代碼還及其惡心,不能見人(push)的時候果录,用來將代碼的改動存儲起來上枕,以免連累那些好代碼不能及時有一個好歸宿(被push)
當然,你也可以將已經(jīng)比較穩(wěn)定的版本先保存起來弱恒,如果不小心改爛了代碼辨萍,也可以回頭。只是既然這樣不如git push返弹。

使用方法

git stash
存儲當前工作目錄

$ git stash
Saved working directory and index state WIP on Practice: 2f70846 Complete practice 
view and network

git stash list
查看之前存儲的所有版本列表

$ git stash list
stash@{0}: WIP on Practice: 2f70846 Complete practice view and network
stash@{1}: WIP on Practice: 2f70846 Complete practice view and network
stash@{2}: WIP on Practice: 2f70846 Complete practice view and network
stash@{3}: WIP on Practice: 2f70846 Complete practice view and network
stash@{4}: WIP on Practice: 812e77b Add collectionView and AnswerView
stash@{5}: WIP on Practice: 53bb0c1 add tableView of questions and refactor the code of scrollView

git stash pop [stash_id]
恢復具體某一次的版本,如果不指定stash_id分瘦,則默認h恢復最新的存儲進度

$ git stash pop stash@{0}
Auto-merging WePeiYang/Shared/Network/SolaSessionManager.swift
CONFLICT (content): Merge conflict in WePeiYang/Shared/Network/SolaSessionManager.swift
Auto-merging WePeiYang/Practice/Practice/QuestionTableView/OptionsCell.swift
CONFLICT (content): Merge conflict in WePeiYang/Practice/Practice/QuestionTableView/OptionsCell.swift
Auto-merging WePeiYang/Practice/Practice/Exercise/Model/ExerciseNetwork.swift
Auto-merging WePeiYang.xcodeproj/project.pbxproj
CONFLICT (content): Merge conflict in WePeiYang.xcodeproj/project.pbxproj

恢復之后,有時打開工程文件琉苇,會發(fā)現(xiàn)里面所有文件都不翼而飛了嘲玫?!
莫慌并扇,莫慌
這是因為出現(xiàn)合并沖突的問題而導致工程文件打不開去团。
這時候右擊工程文件,單擊“顯示包內容”穷蛹,打開“project.pbxproj”文件土陪,然后command + f 搜索 “stashed”。把沖突部分刪掉就可以重新打開啦

git stash drop [stash_id]
刪除一個存儲的進度肴熏。如果不指定stash_id鬼雀,則默認刪除最新的存儲進度。

$ git stash drop stash@{5}
Dropped stash@{5} (00a18888b0d4c7e9c7d543e9798e7de8df967bc3)

git stash clear
慎用M芾簟源哩!
清除所有的存儲進度

暫寫到這~以后有時間再更

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市鸦做,隨后出現(xiàn)的幾起案子励烦,更是在濱河造成了極大的恐慌,老刑警劉巖泼诱,帶你破解...
    沈念sama閱讀 210,978評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件坛掠,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機屉栓,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,954評論 2 384
  • 文/潘曉璐 我一進店門舷蒲,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人友多,你說我怎么就攤上這事牲平。” “怎么了夷陋?”我有些...
    開封第一講書人閱讀 156,623評論 0 345
  • 文/不壞的土叔 我叫張陵欠拾,是天一觀的道長。 經(jīng)常有香客問我骗绕,道長藐窄,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,324評論 1 282
  • 正文 為了忘掉前任酬土,我火速辦了婚禮荆忍,結果婚禮上,老公的妹妹穿的比我還像新娘撤缴。我一直安慰自己刹枉,他們只是感情好,可當我...
    茶點故事閱讀 65,390評論 5 384
  • 文/花漫 我一把揭開白布屈呕。 她就那樣靜靜地躺著微宝,像睡著了一般。 火紅的嫁衣襯著肌膚如雪虎眨。 梳的紋絲不亂的頭發(fā)上蟋软,一...
    開封第一講書人閱讀 49,741評論 1 289
  • 那天,我揣著相機與錄音嗽桩,去河邊找鬼岳守。 笑死,一個胖子當著我的面吹牛碌冶,可吹牛的內容都是我干的湿痢。 我是一名探鬼主播,決...
    沈念sama閱讀 38,892評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼扑庞,長吁一口氣:“原來是場噩夢啊……” “哼譬重!你這毒婦竟也來了?” 一聲冷哼從身側響起嫩挤,我...
    開封第一講書人閱讀 37,655評論 0 266
  • 序言:老撾萬榮一對情侶失蹤害幅,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后岂昭,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,104評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年约啊,在試婚紗的時候發(fā)現(xiàn)自己被綠了邑遏。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,569評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡恰矩,死狀恐怖记盒,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情外傅,我是刑警寧澤纪吮,帶...
    沈念sama閱讀 34,254評論 4 328
  • 正文 年R本政府宣布,位于F島的核電站萎胰,受9級特大地震影響碾盟,放射性物質發(fā)生泄漏。R本人自食惡果不足惜技竟,卻給世界環(huán)境...
    茶點故事閱讀 39,834評論 3 312
  • 文/蒙蒙 一冰肴、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧榔组,春花似錦熙尉、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,725評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至锨推,卻和暖如春铅歼,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背爱态。 一陣腳步聲響...
    開封第一講書人閱讀 31,950評論 1 264
  • 我被黑心中介騙來泰國打工谭贪, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人锦担。 一個月前我還...
    沈念sama閱讀 46,260評論 2 360
  • 正文 我出身青樓俭识,卻偏偏與公主長得像,于是被迫代替她去往敵國和親洞渔。 傳聞我的和親對象是個殘疾皇子套媚,可洞房花燭夜當晚...
    茶點故事閱讀 43,446評論 2 348

推薦閱讀更多精彩內容

  • 1. 安裝 Github 查看是否安裝git: $ git config --global user.name "...
    Albert_Sun閱讀 13,643評論 9 163
  • Git 命令行學習筆記 Git 基礎 基本原理 客戶端并不是只提取最新版本的文件快照,而是把代碼倉庫完整的鏡像下來...
    sunnyghx閱讀 3,905評論 0 11
  • Git 基礎 基本原理 客戶端并不是只提取最新版本的文件快照磁椒,而是把代碼倉庫完整的鏡像下來堤瘤。這樣一來,任何一處協(xié)同...
    __silhouette閱讀 15,860評論 5 147
  • 2017-7-4 王老七 王老七的美好生活 心理學上有一個說法叫“自證預言”浆熔,心理學家認為人是“自戀的”本辐,而這...
    普通人老七閱讀 375評論 2 2
  • 現(xiàn)在奮斗的目標是娶你,給你一個溫暖穩(wěn)定的家。 處處洞察皆學問慎皱。讀書是唯一一件能改變人生的事老虫。
    13棟五樓扛把子閱讀 144評論 0 0