成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

面試官:說說你對Git Stash 的理解?應(yīng)用場景?

開發(fā) 前端
stash,譯為存放,在 git 中,可以理解為保存當前工作進度,會把暫存區(qū)和工作區(qū)的改動進行保存,這些修改會保存在一個棧上。

[[417681]]

本文轉(zhuǎn)載自微信公眾號「JS每日一題」,作者 灰灰。轉(zhuǎn)載本文請聯(lián)系JS每日一題公眾號。

一、是什么

stash,譯為存放,在 git 中,可以理解為保存當前工作進度,會把暫存區(qū)和工作區(qū)的改動進行保存,這些修改會保存在一個棧上

后續(xù)你可以在任何時候任何分支重新將某次的修改推出來,重新應(yīng)用這些更改的代碼

默認情況下,git stash會緩存下列狀態(tài)的文件:

  • 添加到暫存區(qū)的修改(staged changes)
  • Git跟蹤的但并未添加到暫存區(qū)的修改(unstaged changes)

但以下狀態(tài)的文件不會緩存:

  • 在工作目錄中新的文件(untracked files)
  • 被忽略的文件(ignored files)

如果想要上述的文件都被緩存,可以使用-u或者--include-untracked可以工作目錄新的文件,使用-a或者--all命令可以當前目錄下的所有修改

二、如何使用

關(guān)于git stash常見的命令如下:

  • git stash
  • git stash save
  • git stash list
  • git stash pop
  • git stash apply
  • git stash show
  • git stash drop
  • git stash clear
  • git stash

保存當前工作進度,會把暫存區(qū)和工作區(qū)的改動保存起來

git stash save

git stash save可以用于存儲修改.并且將git的工作狀態(tài)切回到HEAD也就是上一次合法提交上

如果給定具體的文件路徑,git stash只會處理路徑下的文件.其他的文件不會被存儲,其存在一些參數(shù):

--keep-index 或者 -k 只會存儲為加入 git 管理的文件

--include-untracked 為追蹤的文件也會被緩存,當前的工作空間會被恢復(fù)為完全清空的狀態(tài)

-a 或者 --all 命令可以當前目錄下的所有修改,包括被 git 忽略的文件

git stash list

顯示保存進度的列表。也就意味著,git stash命令可以多次執(zhí)行,當多次使用git stash命令后,棧里會充滿未提交的代碼,如下:

其中,stash@{0}、stash@{1}就是當前stash的名稱

git stash pop

git stash pop 從棧中讀取最近一次保存的內(nèi)容,也就是棧頂?shù)膕tash會恢復(fù)到工作區(qū)

也可以通過 git stash pop + stash名字執(zhí)行恢復(fù)哪個stash恢復(fù)到當前目錄

如果從stash中恢復(fù)的內(nèi)容和當前目錄中的內(nèi)容發(fā)生了沖突,則需要手動修復(fù)沖突或者創(chuàng)建新的分支來解決沖突

git stash apply

將堆棧中的內(nèi)容應(yīng)用到當前目錄,不同于git stash pop,該命令不會將內(nèi)容從堆棧中刪除

也就說該命令能夠?qū)⒍褩5膬?nèi)容多次應(yīng)用到工作目錄中,適應(yīng)于多個分支的情況

同樣,可以通過git stash apply + stash名字執(zhí)行恢復(fù)哪個stash恢復(fù)到當前目錄

git stash show

查看堆棧中最新保存的stash和當前目錄的差異

通過使用git stash show -p查看詳細的不同

通過使用git stash show stash@{1}查看指定的stash和當前目錄差異

git stash drop

git stash drop + stash名稱表示從堆棧中移除某個指定的stash

git stash clear

刪除所有存儲的進度

三、應(yīng)用場景

當你在項目的一部分上已經(jīng)工作一段時間后,所有東西都進入了混亂的狀態(tài), 而這時你想要切換到另一個分支或者拉下遠端的代碼去做一點別的事情

但是你創(chuàng)建一次未完成的代碼的commit提交,這時候就可以使用git stash

例如以下場景:

當你的開發(fā)進行到一半,但是代碼還不想進行提交 ,然后需要同步去關(guān)聯(lián)遠端代碼時.如果你本地的代碼和遠端代碼沒有沖突時,可以直接通過git pull解決

但是如果可能發(fā)生沖突怎么辦.直接git pull會拒絕覆蓋當前的修改,這時候就可以依次使用下述的命令:

  • git stash
  • git pull
  • git stash pop

或者當你開發(fā)到一半,現(xiàn)在要修改別的分支問題的時候,你也可以使用git stash緩存當前區(qū)域的代碼

 

  • git stash:保存開發(fā)到一半的代碼
  • git commit -m '修改問題'
  • git stash pop:將代碼追加到最新的提交之后

 

責(zé)任編輯:武曉燕 來源: JS每日一題
相關(guān)推薦

2021-09-16 07:52:18

算法應(yīng)用場景

2021-11-05 07:47:56

代理模式對象

2021-11-09 08:51:13

模式命令面試

2021-11-10 07:47:49

組合模式場景

2021-11-03 14:10:28

工廠模式場景

2021-08-09 07:47:40

Git面試版本

2021-09-06 10:51:27

TypeScriptJavaScript

2021-09-28 07:12:09

測試路徑

2021-11-11 16:37:05

模板模式方法

2021-11-22 23:50:59

責(zé)任鏈模式場景

2021-09-29 07:24:20

場景數(shù)據(jù)

2021-09-10 06:50:03

TypeScript裝飾器應(yīng)用

2021-10-08 09:59:32

冒泡排序場景

2021-10-13 18:01:33

快速排序場景

2021-10-09 10:25:41

排序應(yīng)用場景

2021-09-08 07:49:34

TypeScript 泛型場景

2021-11-04 06:58:32

策略模式面試

2021-05-31 10:35:34

TCPWebSocket協(xié)議

2021-06-01 08:25:06

Node.jsJavaScript運行

2021-10-18 07:51:39

回溯算法面試
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 国产成人精品一区二区三区在线 | 欧美在线日韩 | 国产精品美女一区二区三区 | 亚洲 精品 综合 精品 自拍 | 国产精品一区二区av | 美国十次成人欧美色导视频 | 国产999精品久久久久久 | 色伊人| 国产精品国产三级国产aⅴ中文 | 国产黄色大片在线观看 | 国产精品久久久久久久久久软件 | 国产视频久 | 精品欧美乱码久久久久久 | 少妇诱惑av | 午夜久久 | 欧美激情视频一区二区三区在线播放 | 日韩国产免费观看 | 伊人免费视频二 | 成人免费视频网址 | 亚洲福利一区二区 | 日韩欧美二区 | 一级黄色夫妻生活 | 日韩视频免费看 | 国产亚洲精品久久久优势 | 欧美日韩成人网 | 精品福利在线 | 欧美在线观看免费观看视频 | 中文字幕精品一区二区三区精品 | 91社影院在线观看 | 黄色毛片在线看 | 日韩成人在线视频 | 亚洲精品免费观看 | 精品国产乱码久久久久久影片 | 亚洲福利网 | 国产伦精品一区二区三区精品视频 | 色男人的天堂 | 久久久精品久 | 国产精品地址 | 9191在线观看 | 国产精品久久久一区二区三区 | 黄频免费 |