更新修改后的git回购协议?

更新修改后的git回购协议?,git,github,Git,Github,我在git上有一个存储库,我正在将它克隆到一个编译并运行它的服务器上 由于该服务器在我的网络上是本地的,所以我可以进一步克隆可通过samba访问的项目,甚至可以在我的首选编辑器上打开它,然后从那里开始工作,做我需要的更改或其他任何事情 这里是事情变得复杂的地方,我希望能够保持我服务器上的克隆与git存储库同步(最新)(我无法将内容推送到git存储库),同时保留我在本地对服务器存储库所做的更改 如果针对这一特定案例有一种最常见的做法,那么最常见的做法是什么?对此,建议采取什么路线 如果我必须描述我

我在git上有一个存储库,我正在将它克隆到一个编译并运行它的服务器上

由于该服务器在我的网络上是本地的,所以我可以进一步克隆可通过samba访问的项目,甚至可以在我的首选编辑器上打开它,然后从那里开始工作,做我需要的更改或其他任何事情

这里是事情变得复杂的地方,我希望能够保持我服务器上的克隆与git存储库同步(最新)(我无法将内容推送到git存储库),同时保留我在本地对服务器存储库所做的更改

如果针对这一特定案例有一种最常见的做法,那么最常见的做法是什么?对此,建议采取什么路线

如果我必须描述我目前所做的工作,它会是这样的:

  • git重置--硬原点/主原点
  • git获取源
  • 重做所有更改
  • 当原点上出现新内容时重复此操作
  • 我假设,在这两种情况下,我都需要步骤1和2,因为如果我提交git,它会抱怨更改的文件不允许简单地
    git拉它

    我认为,除上述方法外,另一种方法是:

  • 生成补丁
  • git重置--硬原点/主原点
  • git获取源
  • 应用修补程序(此处可能会失败,具体取决于文件的更改方式,因此手动更容易识别…)
  • 当原点上出现新内容时重复此操作
  • 再次重复我的问题:

    • 对于这一特定案例,最常见的做法是什么(如果有),或者对于这种情况,建议遵循什么路线

    我不是git方面的专家,我确实知道如何使用它的一部分,但是上面的场景对我来说是新的。

    首先,您应该按照GitHub帮助中的说明进行操作。完成此操作后,您将在GitHub服务器上拥有一个本地repo和一个个人克隆(或fork)。本地回购协议有两个“遥控器”<代码>来源
    指向您的个人GitHub回购<代码>上游指向原始主回购

    现在,当您想要进行自己的更改时,您应该创建一个分支:

    $ git checkout -b mybranch master
    
    此命令将创建分支并将其签出。现在,您可以使用
    git add
    git commit
    将更改提交到本地回购

    如果您决定将更改提交给原始回购协议,则首先需要将您的分支机构推送到您的个人GitHub回购协议:

    $ git push origin mybranch
    
    然后登录到您的GitHub帐户并创建拉取请求。您的变更将由原始回购协议的维护者进行审查。最有可能的是,他们会建议您在被接受之前需要做些什么来改进您的更改

    更新原始回购协议后,您可以使用

    $ git checkout master
    $ git pull upstream master
    
    $ git push origin master
    
    您还可以使用更新您的个人GitHub回购协议

    $ git checkout master
    $ git pull upstream master
    
    $ git push origin master
    
    您可以使用将更改合并到自己的工作中

    $ git checkout mybranch
    $ git merge master
    

    如果原始回购协议的更新与您自己的工作之间存在任何冲突,git会告诉您。然后您必须手动解决这些冲突。您可以在任何文本编辑器中直接执行此操作,也可以使用许多可用的可视化工具之一。有关详细信息,请参阅。

    首先,您应该按照GitHub帮助中的说明进行操作。完成此操作后,您将在GitHub服务器上拥有一个本地repo和一个个人克隆(或fork)。本地回购协议有两个“遥控器”<代码>来源指向您的个人GitHub回购<代码>上游指向原始主回购

    现在,当您想要进行自己的更改时,您应该创建一个分支:

    $ git checkout -b mybranch master
    
    此命令将创建分支并将其签出。现在,您可以使用
    git add
    git commit
    将更改提交到本地回购

    如果您决定将更改提交给原始回购协议,则首先需要将您的分支机构推送到您的个人GitHub回购协议:

    $ git push origin mybranch
    
    然后登录到您的GitHub帐户并创建拉取请求。您的变更将由原始回购协议的维护者进行审查。最有可能的是,他们会建议您在被接受之前需要做些什么来改进您的更改

    更新原始回购协议后,您可以使用

    $ git checkout master
    $ git pull upstream master
    
    $ git push origin master
    
    您还可以使用更新您的个人GitHub回购协议

    $ git checkout master
    $ git pull upstream master
    
    $ git push origin master
    
    您可以使用将更改合并到自己的工作中

    $ git checkout mybranch
    $ git merge master
    
    如果原始回购协议的更新与您自己的工作之间存在任何冲突,git会告诉您。然后您必须手动解决这些冲突。您可以在任何文本编辑器中直接执行此操作,也可以使用许多可用的可视化工具之一。有关详细信息,请参见。

    为什么不呢

    克隆存储库的那一刻,您就得到了一个本地存储库。您可以创建分支并使用它们在本地对代码进行版本设置,而无需推送到远程

    基于master创建自己的分支

    git checkout master
    git checkout -b mybranch
    
    继续将更改提交给
    mybranch
    。每当远程存储库中出现更改时,更新
    master
    ,并将其合并到
    mybranch

    如果你建立了自己的工作,你也可以与他人分享你的工作。Git允许您使用多个远程存储库。如果您无法访问用于克隆项目的版本,那么没有任何东西可以阻止您在您的位置创建自己的版本。

    为什么不呢

    克隆存储库的那一刻,您就得到了一个本地存储库。您可以创建分支并使用它们在本地对代码进行版本设置,而无需推送到远程

    基于master创建自己的分支

    git checkout master
    git checkout -b mybranch
    
    继续将更改提交给
    mybranch
    。每当远程存储库中出现更改时,更新
    master
    ,并将其合并到
    mybranch

    如果你建立了自己的工作,你也可以与他人分享你的工作。Git允许您使用多个远程存储库。如果您没有用于克隆项目的访问权限