首頁 > 開發工具 > Git > 主體

這些好用的Git功能你也許還不知道!

藏色散人
發布: 2020-01-26 16:55:20
轉載
3311 人瀏覽過

這些好用的Git功能你也許還不知道!

一、剛提交的程式碼,發現需要微調一下

剛剛最新提交了一段程式碼,然後跟前端說,介面好了。過了2分鐘,前端跟你說,哎,兄弟,那個金額能不能回傳整數,不要小數點。

這個時候通常我們通常會修改一下之後,再提交一個版本。那麼又過了2分鐘,前端又跑來說,哎,兄弟,那個日期能不能換個格式...

正常我們又會修改下後再提交一個版本,那麼就一些簡單的改動,我們就提交了好幾個版本,可以是可以,不過還有一個更優雅簡單的解決方法: commit --amend 

"amend" 是「修正」的意思。在提交時,如果加上--amend 參數,Git 不會在當前commit 上增加commit,而是會把當前commit 裡的內容和暫存區(stageing area)裡的內容合併起來後創建一個新的commit ,用這個新的commit 把目前commit 替換掉。所以 commit --amend 所做的事就是它的字面意思:對最新一條 commit 修正。

具體地,當你把修改改完之後,直接執行:

git add .
git commit --amend
登入後複製
登入後複製

之後會出現你之前一個提交的資訊:

這些好用的Git功能你也許還不知道!

你可以修改或保留它,然後儲存退出就可以了。你的最新commit就被更新了,如下圖:

   這些好用的Git功能你也許還不知道!

#二、要修改的不是最新的commit,而是倒數第二個

突然我先我們倒數第二個提交需要進行一些微小的調整,那麼這時候我們就不能用上面那種處理方式了,不過也是有辦法的。

rebase -i :是 rebase --interactive 的縮寫,意思是「互動式rebase」。

  這些好用的Git功能你也許還不知道!

git log 後我們發現是倒數第二個commit需要修改,那麼此時我們可以運行:

git rebase -i HEAD ^^ ,就會跳出如下這個介面。

  這些好用的Git功能你也許還不知道!

這個編輯介面的最頂部,列出了將要「被rebase」的所有commits,也就是倒數第二個commit “modify testgit”和最新的commit“ mofify .gitignore」。需要注意,這個排列是正序的,舊的 commit 會排在上面,新的排在下面。

此時,我們需要修改哪個commit,就可以把commit 之前的pick修改成edit ,然後就可以退出這個介面。

這些好用的Git功能你也許還不知道!

上面的介面告訴我們,rebase過程已經停在需要修改的那個commit,然後我們可以進行修改了,修改完後:

git add .
git commit --amend
登入後複製
登入後複製

上傳修改後,就可以執行:

git rebase --continue
登入後複製

如果沒有衝突,那就完美rebase了。

 

三、緊急狀況:stash儲存

當你正在敲鍵盤,埋頭開發一個新功能時,突然有人跑過來跟你說,哎,兄弟,你之前開發的那個功能出現了一個bug,趕緊改一下,這時候你新分支功能才剛剛開了一個頭,如果直接commit一次肯定是可以的,不過有更好的處理辦法-- git stash .

git stash 後會把你工作目錄的改動清空,然後儲存到另外一個地方。要注意的是, git stash 會忽略那些沒有被track的文件,這時候需要加上參數-u,即 git stash -u 。

當你把bug修復後,就切回工作分支。然後:  

git stash pop
登入後複製

你之前儲存的東西就回來了,是不是很方便?

本文來自 git教學 欄目,歡迎學習!

以上是這些好用的Git功能你也許還不知道!的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
git
來源:cnblogs.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!