在修改之後不需要先同步原始倉庫的修改。
同步的時候我是直接 pull 嗎。衝突不讓拉取如何解決。(當然可以 fetch 再 merge 什麼的操作)
我認為比較正確的開啟方法:
fork 原始倉庫
clone 自己的倉庫
在 master 分支添加原始倉庫為遠程分支 git remote add upstream 遠程倉庫
自己分支開發,如 dev 分支開發:git checkout -b dev
本地 dev 提交
切換 master 分支,同步原始倉庫:git checkout master, git pull upstream master
切換本地 dev 分支,合并本地 master 分支(已經和原始倉庫同步),可能需要解衝突
提交本地 dev 分支到自己的遠程 dev 倉庫
現在才是給原始倉庫發 pull request 請求
等待原作者回複(接受/拒絕 fork過來的項目,源更新後我們必須重新fork才能得到最新版本嘛。
步驟:
1. 在 Fork 的程式碼程式庫中添加上遊程式碼程式庫的 remote 源,該操作只需操作一次即可。
如: 其中# upstream 表示上遊程式碼程式庫名, 可以任意。
git remote add upstream https://github.scm.corp.ebay.com/montage/frontend-ui-workspace
2. 將本地的修改提交 commit
3. 在每次 Pull Request 前做如下操作,即可實現和上遊版本庫的同步。
3.1 : git remote update upstream
3.2 : git rebase upstream/{branch name}
需要注意的是在操作3.2之前,一定要將checkout到{branch name}所指定的branch,
如: git checkout develop
4. Push 代碼到 Github
git push
步驟:
1. 在 Fork 的程式碼程式庫中添加上遊程式碼程式庫的 remote 源,該操作只需操作一次即可。
如: 其中# upstream 表示上遊程式碼程式庫名, 可以任意。
git remote add upstream https://github.scm.corp.ebay.com/montage/frontend-ui-workspace
2. 將本地的修改提交 commit
3. 在每次 Pull Request 前做如下操作,即可實現和上遊版本庫的同步。
3.1 : git remote update upstream
3.2 : git rebase upstream/{branch name}
需要注意的是在操作3.2之前,一定要將checkout到{branch name}所指定的branch,
如: git checkout develop
4. Push 代碼到 Github
git push