­

Git新技能-stash操作

  最近開發的工期非常緊迫,一直在忙各種雜七雜八的事情,負責人都還沒有創建好測試環境,

所以程式碼也不能部署。可是項目經理催促開發進度又催得很急,新的開發需求必須在指定的時間內

完成,我們只得想辦法去克服困難,解決各種問題。自己能想到的辦法就是在本地啟動前端項目和

後端項目,然後直接進行測試,有問題也好改。可不巧的是,前端開發的蘋果電腦如果直接啟動項目,

連接我們的後台進行訪問,他的電腦就會死機。所以就想了一個辦法,直接在我的台式電腦上面啟動

前後端項目,進行訪問。

  方式確定後,前端開發人員來我的電腦上更改一些文件還有配置之後,可以直接訪問我的服務後台。

這樣也確實解決掉實際問題,讓我們可以在本地進行開發、測試,發現一些問題也好及時修改。可是

在提交程式碼的時候出現問題,因為前端開發人員在我的電腦上所做的改動,不會提交到git伺服器,可是

前端自己也在修改程式碼。我把自己修改的java程式碼提交後,準備去拉取最新程式碼,直接報錯,說是文件

衝突,程式碼拉取失敗,因為我本地有修改的前端程式碼。如果我回滾前端程式碼的話,每拉取一次程式碼,前端

人員就需要來我的電腦上面修改一次程式碼,才能夠正常訪問,這相當的麻煩,而且還改動了67個文件。

那有沒有好的解決辦法呢?

  這時前端開發給我提供了一個思路,說是Git裡面有一個stash操作,大致意思就是把本地有改動的文件

暫存起來,不提交到git伺服器。然後可以回滾之前改動的前端程式碼,在拉取最新的程式碼,最後在將stash

程式碼覆蓋到應用到最新拉取的前端程式碼上面。這樣就很好的解決掉之前遇到的這個問題,有部分程式碼改動,

自己又不希望提交這部分改動,因為前端改動的這部分程式碼只在我的電腦上使用,其他地方都不需要使用。

了解到還有這種騷操作之後,自己立馬使用搜索引擎搜索,果然有這個操作。自己電腦上面使用的IDEA版本

2018.3,不同的IDEA版本操作大同小異。大致步驟如下:

.a.在本地改動一個文件.

 

.b.選中項目右鍵,依次選擇Git–>Repository–>Stash Changes即可

 

 資訊隨便填寫,類似於備註,然後點擊 Create Stach 即可

 

 

這一步之後,之前修改的程式碼就會消失,不同版本的IDEA結果稍微有些不一樣,相差不是太大。

 

.c.如果想使用之前修改的stash的程式碼,則依次選擇Git–>Repository–>UnStash Changes即可

 

然後選擇Stash的版本, Apply Stash 即可

 

結果如下,恢復了之前修改的,未提交的程式碼。至此,整個git Stach操作完成,又學到一項新技能.

 

參考博文如下:

//www.cnblogs.com/coder-zyc/p/11566923.html