git 提交問題
天蓬老师
天蓬老师 2017-05-02 09:48:29
0
6
649

提交都在master主分支上提交的;

專案是兩個開發,因為經常使用對方檔案比較多,不打算分支開發在主分支提交和修改,我們每次提交程式碼都是先git pull 然後git add . git commit git push這樣的命令,但是經常報錯,說什麼版本更新被拒絕,因為您當前分支的提示後面
Updates were rejected because the tip of your current branch is behind
這樣什麼原因導致的;

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回覆(6)
PHPzhong

例如你的線上分支有兩個提交1和2
你的線下分支也有兩個提交1和3
這個時候你把線上分支pull下來之後有可能是123 也有可能是132(用google百度一下rebase)
如果你線上的分支是12你線下的分支pull以後是132 那就會產生衝突導致你這種情況(只能在末尾加不能在中間插)
還有一種情況就是用了amend 這時候雖然看似你線上線下是一個提交(commit message一樣) 實際上已經不一樣了(commit id變了) 所以git會認為是兩個提交這兩個提交改變的地方有重疊導致衝突產生
要解決這個問題需要用push -f強制提交請認真搜尋仔細研究這個命令的作用產生一切後果概不負責

刘奇

你是不是有過amend提交啊

刘奇

git pull --rebase (逃

黄舟

你拉下程式碼來git pull了以後,你應該和你本地的git rebase master合併一下,然後再push

習慣沉默

先看下狀態git status ,紅的話就git add . ,警告就強行-A, add之後是commit ,commit再pull下載,pull完有衝突先解決衝突再重新從add開始,最後push,至少我這樣做好少有錯。 。

我想大声告诉你

因為已經在git的遠端倉庫上提交程式碼了, 你不能直接提交了, 你必須先把遠端倉庫的程式碼同步到你的本地, 才可以提交, 一般情況下提交之前 習慣性git pull --rebase

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板