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