如何与我分叉的回购保持最新状态?

时间:2013-12-08 15:36:01

标签: git version-control github fork bitbucket

如果我想通过分支/克隆现有git仓库来启动项目,并继续永久地处理这个新分支,我的工作流程应该如何?

我想继续从我最初分支的回购中提取新提交。

会不会

  1. git clone
  2. git checkout -b myNewBranch
  3. 进行一些更改并提交
  4. git rebase master
  5. 进行一些更改并提交
  6. git rebase master
  7. ...

1 个答案:

答案 0 :(得分:3)

是的,除了您需要实际设置另一个远程以便从原始存储库获取更新,然后从该存储库进行提取。 我将假设您要求某人存储库执行此操作,如果是这样,那么我会这样做

  1. 使用网站上的按钮在github中分割原始作者存储库(参见下图)。
  2. 在您自己的github用户名/存储库页面上,通过克隆图标复制地址。
  3. 在本地,在命令行/终端... git clone ...然后cd the_repo_name/
  4. git checkout -b myNewBranch
  5. 进行一些更改并添加和提交,然后git push origin master
  6. 将original_username添加为另一个远程,例如作者(git remote add ....)
  7. git fetch author master#获取您的暂存区域的更新。
  8. git rebase author/master#在新更新之上重播您的本地更改
  9. 解决所有冲突
  10. 进行一些更改并提交,然后git push origin master
  11. git fetch author master
  12. git rebase author/master
  13. 解决所有冲突
  14. ...
  15. 注意:

    git remote -v对于显示现有遥控器非常有用 步骤9,13,...仅在编辑相同行代码时才有必要(冲突) 第8步可能是最关键的:您可以在任何分支机构中使用git rebase git_repo_src/branch_name从另一个分支“拉入”最新更改,rebase将“保存”您的更改,添加新更改,然后重播您的修改时间。如果编辑相同的行(通常不是),则需要解决合并冲突。这意味着手动编辑文件。

    添加另一个git远程示例:git remote add author smithb/repo_name.git

    项目在github中:

    Fork                         Cloning - copy (ctrl-c, etc.) the HTTPS: Clone URL 
    Click the button "Fork"       (click the button in some browsers prob. flash):
    in the original repo.        Then, at a local terminal window `git clone <paste>`
    

    enter image description here enter image description here