開源專案 git pull 程式碼衝突的解決方式?
仅有的幸福
仅有的幸福 2017-05-02 09:50:07
0
2
648

假設我正在使用一個開源項目,為了時刻保持根官方github保持同步,我用git clone項目到本地並進行二次開發,我的大部分二次開發是不會和官方的核心文件產生衝突的,但是個別文件還是會衝突。 。

例如經過一段時間我本機做了一些修改,這是官方倉庫也做了一些修改,並發布了一個小版本

這時我想更新官方最新 使用 git pull 的時候會提示衝突 那麼問題來了

開源專案二次開發 想隨時git pull取得最新版本,並保留本機修改的方法是怎樣的?

我現在的做法

當git pull取得官方最新更新的時候如果衝突

使用 git stash 快取本機的變更。
然後 git pull 下來官方最新的版本
然後 git stash pop 把本機的改動merge到程式碼中,手動解決衝突

我簡單測試了一下並沒發現什麼問題,因為我並不需要push代碼到官方倉庫所以我一般也不會add,但是經歷過這次以後,我又做了一些修改,官方又更新了一些東西

使用git pull還是不行 我要本機git add . 一下 然後重複以上stash 步驟來保持更新和合併衝突,

不知道我這麼做是否正確,或有什麼更好的做法麼?

仅有的幸福
仅有的幸福

全部回覆(2)
阿神

不用stash吧,先把改動的commit,然後再pull解決衝突就可以了。

刘奇

其實如果你本地已經進行了提交(git commit),在拉取遠端的改動前,並不需要先git stash,直接git pull或者先git fetchgit merge就可以了。
当然,如果你在拉取之前,本地并没有提交(git commit)的话,你的上述操作也是没有问题的,但是,你也可以先将本地的修改做完然后提交了再拉取(git pull)。
其实,你的git stash应用的场合不太合适,git stash一般用于你在某一分支工作做了一半(还不值得做一次提交或者压根还不想提交)时,你突然想切换到其他分支做一点儿别的事。这时,用git stash就再合適不過了。

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