如何正確地給 github 的開源項目提交 pull request具體一些,比如 fork 之後創建幾個分支,修改後如何和原項目同步

  1. 在修改之後不需要先同步原始倉庫的修改?

  2. 同步的時候我是直接 pull 嗎?衝突不讓拉取如何解決?(當然可以 fetch 再 merge 什麼的操作)

我認爲比較正確的打開方法:

  1. fork 原始倉庫

  2. clone 自己的倉庫

  3. 在 master 分支添加原始倉庫爲遠程分支 git remote add upstream 遠程倉庫

  4. 自己分支開發,如 dev 分支開發:git checkout -b dev

  5. 本地 dev 提交

  6. 切換 master 分支,同步原始倉庫:git checkout master, git pull upstream master

  7. 切換本地 dev 分支,合併本地 master 分支(已經和原始倉庫同步),可能需要解衝突

  8. 提交本地 dev 分支到自己的遠程 dev 倉庫

  9. 現在纔是給原始倉庫發 pull request 請求

  10. 等待原作者回復(接受/拒絕

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章