Git問題Everything up-to-date解決

今天push代碼的時候遇到了一個小問題,提示『Everything up-to-date』 ,導致不能push代碼,說這裏解決了記下小記。

提交代碼遇到『Everything up-to-date』

上網查了下,發現中文大多答非所問,少數能解決的並沒有闡述原理,所以我寫這篇文章記錄下。

這裏先上stackoverflow的回答,基礎好的可以看這個。

接下來說我自己的理解,出現這個問題的原因是git提交改動到緩存,要push的時候不會將本地所有的分支都push掉,所以出現這個問題。我們應該告訴git提交哪個分支。

這裏有種特殊的情況是如果你是fork別人的倉庫再clone到本地的話,即使git上只有一個主分支,他還是可能出現這個錯誤。那麼我們就需要新建分支提交改動然後合併分支。

接下來先創建一個新分支提交改動

$ git branch newbranch

然後輸入這條命令檢查是否創建成功

$ git branch

這時終端輸出

 newbranch
* master

這樣就創建成功了,前面的*代表的是當前你所在的工作分支。我們接下來就要切換工作分支。

$ git checkout newbranch

這樣就切換完了,可以$ git branch確認下。然後你要將你的改動提交到新的分支上。

$ git add .
$ git commit -a

此時可以$ git status檢查下提交情況。如果提交成功,我們接下來就要回主分支了,代碼和之前一樣。

$ git checkout master

然後我們要將新分支提交的改動合併到主分支上

$ git merge newbranch

合併分支可能產生衝突這是正常的,雖然我們這是新建的分支不會產生衝突,但還是在這裏記錄下。下面的代碼可以查看產生衝突的文件,然後做對應的修改再提交一次就可以了。

$ git diff

我們的問題就解決了,接下來就可以push代碼了。

$ git push -u origin master

新建分支的朋友別忘了刪除這個分支

$ git branch -D newbranch

如果想保留分支只是想刪除已經合併的部分只要把大寫的D改成小寫的d就行了。

發佈了46 篇原創文章 · 獲贊 14 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章