Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git 如何通过我';你有叉子吗?_Git_Version Control_Github_Fork_Bitbucket - Fatal编程技术网

Git 如何通过我';你有叉子吗?

Git 如何通过我';你有叉子吗?,git,version-control,github,fork,bitbucket,Git,Version Control,Github,Fork,Bitbucket,如果我想通过分叉/克隆现有的git回购来启动一个项目,并永远继续在这个新分支上工作,那么我的工作流程应该如何 我想继续从我最初分支的回购协议中提取新的承诺 会吗 git克隆 git签出-b myNewBranch 进行一些更改并提交 git重新基址主机 进行一些更改并提交 git重新基址主机 是的,除非您需要实际设置另一个远程服务器,以便从原始存储库获取更新,然后从该存储库进行回迁。 我将假设你正在用别人的存储库来做这件事,如果是这样的话,我会做 使用站点上的按钮在github中分叉原始作者存

如果我想通过分叉/克隆现有的git回购来启动一个项目,并永远继续在这个新分支上工作,那么我的工作流程应该如何

我想继续从我最初分支的回购协议中提取新的承诺

会吗

  • git克隆
  • git签出-b myNewBranch
  • 进行一些更改并提交
  • git重新基址主机
  • 进行一些更改并提交
  • git重新基址主机

  • 是的,除非您需要实际设置另一个远程服务器,以便从原始存储库获取更新,然后从该存储库进行回迁。 我将假设你正在用别人的存储库来做这件事,如果是这样的话,我会做

  • 使用站点上的按钮在github中分叉原始作者存储库(参见下图)
  • 在您自己的github用户名/存储库页面上,通过克隆图标复制地址
  • 在本地,在命令行/终端
    git clone…
    然后
    cd\u repo\u name/
  • git签出-b myNewBranch
  • 进行一些更改,添加并提交它们,然后
    git推送原始主机
  • 将原始用户名添加为另一个远程用户名,例如author(git remote Add…)
  • git fetch author master
    #在您的暂存区获取更新
  • git-rebase-author/master
    #在新更新的基础上重播本地更改
  • 解决任何冲突
  • 进行一些更改并提交,然后
    git推送原始主机
  • git-fetch-author-master
  • git-rebase作者/大师
  • 解决任何冲突
  • 注:

    git remote-v
    用于显示现有远程设备。
    步骤9、13、,。。。仅当编辑相同的代码行时才需要(冲突)。
    第8步可能是最关键的:您可以在任何分支中使用
    git-rebase-git\u-repo\u-src/branch\u-name
    “拉入”另一分支的最新更改,rebase将“保存”您的更改,在中添加新更改,然后及时重播您的编辑。如果编辑了相同的行(通常不编辑),则需要解决合并冲突。这意味着手动编辑文件

    添加另一个git远程示例:
    git远程添加作者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>`
    
    Fork克隆-复制(ctrl-c等)HTTPS:Clone URL
    单击按钮“Fork”(在某些浏览器prob.flash中单击该按钮):
    在原始回购协议中。然后,在本地终端窗口“git clone”`
    

    听起来好像你用错了Git。你为什么要这样做?@MartinBean为什么你认为这是错误的?@jszakmeister似乎是一种使用已经分散的东西的方式。你能不能只维护多个遥控器,通过改变从一个遥控器拉到另一个遥控器?@MartinBean你当然能。但是,当您将master引入分支时,您可以采取这种方法来避免“无用”的合并提交。例如,内核人员使用这种方法。谢谢~!您最初使用的远程设备的名称是什么?当添加它以获得更新时,我会将其称为“作者”、“来源”等。我很喜欢“原始”,但它似乎太接近“来源”了。您知道。添加了在注释中添加远程设备的示例。@Nyxynyx我在我的repos中将其称为“上游”。+1有效!src和original_author是另外两个选项。