原文地址:https://blog.csdn.net/weiwoyonzhe/article/details/86603450
對Scratch3.0進行二次開發,首先要在github上fock官方代碼,但是在自己開發的同時又要跟進官方的代碼就要在git做如下配置。
步驟:
1、配置上游項目地址。即將你 fork 的項目的地址給配置到自己的項目上。使用以下命令來配置。
➜ git remote add upstream https://github.com/LLK/scratch-gui.git
然后可以查看一下配置狀況,很好,上游項目的地址已經被加進來了。
➜ git remote -v
origin https://github.com/***/scratch-gui.git (fetch)
origin https://github.com/***/scratch-gui.git (push)
upstream https://github.com/LLK/scratch-gui.git (fetch)
upstream https://github.com/LLK/scratch-gui.git (push)
2、獲取上游(官方)項目更新。使用 fetch 命令更新,fetch 后會被存儲在一個本地分支 upstream/master 上。如果長時間沒有更新,可能會非常慢,一定要在網絡環境好的情況下更新或從GitHub下載代碼。
➜ git fetch upstream
3、合並到本地分支。切換到 master 分支,合並 upstream/master 分支。
➜ git merge upstream/master
如果提示: fatal: refusing to merge unrelated histories,這是因為本地和遠端已經是兩個獨立的版本庫,git認為是不相干的版本庫。
➜ git merge upstream/master --allow-unrelated-histories
4、合並沖突。因為是在原先代碼的基礎上二次開發,沖突不可避免,而最費時間的也是這里解決沖突這一步。
5、提交推送。根據自己情況提交推送自己項目的代碼。
➜ git push origin master
由於項目已經配置了上游項目的地址,所以如果 fork 的項目再次更新,重復步驟 2、3、4即可。
留幾個問題供大家思考交流:
- 沖突在所難免,在開發中注意什么可以更快更高效的解決沖突合並代碼?
- 如果官方代碼重構了某部分模塊,你的代碼嚴重依賴該模塊該如何處理?
