這篇文章主要介紹Git功能的示例分析,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的韶山網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
一、剛提交的代碼,發(fā)現(xiàn)需要微調(diào)一下
剛剛最新提交了一段代碼,然后跟前端說(shuō),接口好了。過(guò)了2分鐘,前端跟你說(shuō),哎,兄弟,那個(gè)金額能不能返回整數(shù),不要小數(shù)點(diǎn)。
這個(gè)時(shí)候一般我們通常會(huì)修改一下之后,再提交一個(gè)版本。那么又過(guò)了2分鐘,前端又跑來(lái)說(shuō),哎,兄弟,那個(gè)日期能不能換個(gè)格式...
正常我們又會(huì)修改下后再提交一個(gè)版本,那么就一些簡(jiǎn)單的改動(dòng),我們就提交了好幾個(gè)版本,可以是可以,不過(guò)還有一個(gè)更加優(yōu)雅和簡(jiǎn)單的解決方法: commit --amend
"amend" 是「修正」的意思。在提交時(shí),如果加上 --amend 參數(shù),Git 不會(huì)在當(dāng)前 commit 上增加 commit,而是會(huì)把當(dāng)前 commit 里的內(nèi)容和暫存區(qū)(stageing area)里的內(nèi)容合并起來(lái)后創(chuàng)建一個(gè)新的 commit,用這個(gè)新的 commit 把當(dāng)前 commit 替換掉。所以 commit --amend 做的事就是它的字面意思:對(duì)最新一條 commit 進(jìn)行修正。
具體地,當(dāng)你把修改改完之后,直接運(yùn)行:
git add . git commit --amend
之后會(huì)出現(xiàn)你之前一個(gè)提交的信息:

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

二、要修改的不是最新的commit,而是倒數(shù)第二個(gè)
突然我先我們倒數(shù)第二個(gè)提交需要進(jìn)行一些微小的調(diào)整,那么這時(shí)候我們就不能用上面那種處理方式了,不過(guò)也是有辦法的。
rebase -i :是 rebase --interactive 的縮寫,意思為「交互式rebase」。

git log 后我們發(fā)現(xiàn)是倒數(shù)第二個(gè)commit需要修改,那么此時(shí)我們可以運(yùn)行:
git rebase -i HEAD^^ ,就會(huì)跳出如下這個(gè)界面。

這個(gè)編輯界面的最頂部,列出了將要「被 rebase」的所有 commits,也就是倒數(shù)第二個(gè) commit 「modify testgit」和最新的 commit「mofify .gitignore」。需要注意,這個(gè)排列是正序的,舊的 commit 會(huì)排在上面,新的排在下面。
此時(shí),我們需要修改哪個(gè)commit,就可以把commit 之前的pick修改成edit ,然后就可以退出這個(gè)界面。

上面的界面告訴我們,rebase過(guò)程已經(jīng)停在需要修改的那個(gè)commit,然后我們可以進(jìn)行修改了,修改完后:
git add . git commit --amend
上傳修改后,就可以運(yùn)行:
git rebase --continue
如果沒(méi)有沖突,那么就完美rebase了。
三、緊急情況:stash存儲(chǔ)
當(dāng)你正在敲著鍵盤,埋頭開(kāi)發(fā)一個(gè)新功能時(shí),突然有人跑過(guò)來(lái)跟你說(shuō),哎,兄弟,你之前開(kāi)發(fā)的那個(gè)功能出現(xiàn)了一個(gè)bug,趕緊改一下,這時(shí)候你新分支功能才剛剛開(kāi)了一個(gè)頭,如果直接commit一次肯定是可以的,不過(guò)有更好的處理辦法-- git stash .
git stash 后會(huì)把你工作目錄的改動(dòng)清空,然后存儲(chǔ)到另外一個(gè)地方。需要注意的是, git stash 會(huì)忽略那些沒(méi)有被track的文件,這時(shí)候需要加上參數(shù)-u,即 git stash -u 。
當(dāng)你把bug修復(fù)后,切回工作分支。然后:
git stash pop
以上是“Git功能的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
網(wǎng)站欄目:Git功能的示例分析
網(wǎng)頁(yè)地址:http://chinadenli.net/article28/gsgijp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開(kāi)發(fā)、外貿(mào)網(wǎng)站建設(shè)、商城網(wǎng)站、品牌網(wǎng)站建設(shè)、微信小程序、外貿(mào)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)