git pull --rebase 做了什么? 以及 Cannot rebase: You have unstaged changes 解决办法
前些天發(fā)現(xiàn)了一個(gè)巨牛的人工智能學(xué)習(xí)網(wǎng)站,通俗易懂,風(fēng)趣幽默,忍不住分享一下給大家。點(diǎn)擊跳轉(zhuǎn)到教程。
最近剛學(xué) git rebase,覺(jué)得很牛逼的樣子,?
結(jié)果今天就被打臉了。
- 1
報(bào)錯(cuò):
Cannot rebase: You have unstaged changes Please commit or stash them.- 1
- 2
第一反應(yīng)是:?
不!可!能!剛才明明提交了啊!!怎么還有修改!歇斯底里了!
最后用 git status 一看:?
。。。。
我錯(cuò)了。。。 接個(gè)電話,把刪了個(gè)文件這件事忘記了 - -。
總結(jié):
1.git pull –rebase 理解
這個(gè)命令做了以下內(nèi)容:?
a.把你 commit 到本地倉(cāng)庫(kù)的內(nèi)容,取出來(lái)放到暫存區(qū)(stash)(這時(shí)你的工作區(qū)是干凈的)?
b.然后從遠(yuǎn)端拉取代碼到本地,由于工作區(qū)是干凈的,所以不會(huì)有沖突?
c.從暫存區(qū)把你之前提交的內(nèi)容取出來(lái),跟拉下來(lái)的代碼合并
所以 rebase 在拉代碼前要確保你本地工作區(qū)是干凈的,如果你本地修改的內(nèi)容沒(méi)完全 commit 或者 stash,就會(huì) rebase 失敗。
2.還是要聽 git 提示的話,要理智,有什么不清楚的,就輸入
git status- 1
根據(jù)人家提示的來(lái),該提交的提交,stash 的 stash。
3.刪除文件后需要 git add -A, 光 git add. 不行,區(qū)別如下:
git add 的幾種參數(shù)區(qū)別
git add -A 保存所有的修改?
git add . 保存新的添加和修改,但是不包括刪除?
git add -u 保存修改和刪除,但是不包括新建文件。
?
總結(jié)
以上是生活随笔為你收集整理的git pull --rebase 做了什么? 以及 Cannot rebase: You have unstaged changes 解决办法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: .NET 中的正则表达式
- 下一篇: 再说继承关系