Linux 如何将对git存储库的更改存储在另一个服务器端存储库中?
我正在为我的特定ARM板修改Linux内核 我已克隆此存储库:Linux 如何将对git存储库的更改存储在另一个服务器端存储库中?,linux,git,Linux,Git,我正在为我的特定ARM板修改Linux内核 我已克隆此存储库:http://arago-project.org/git/projects/?p=linux-am33x.git 我想提交我所做的更改,并将它们推送到我自己的服务器,而不是arago服务器。我目前正在我的工作目录上做一个diff,并将该diff提交给我自己的服务器端repo。有没有更优雅的方法 请注意,我不想在我的服务器上克隆整个arago repo。我所做的改变是微不足道的,这次回购不是。根据下面的答案,我已经做到了: $ git
http://arago-project.org/git/projects/?p=linux-am33x.git
我想提交我所做的更改,并将它们推送到我自己的服务器,而不是arago服务器。我目前正在我的工作目录上做一个diff,并将该diff提交给我自己的服务器端repo。有没有更优雅的方法
请注意,我不想在我的服务器上克隆整个arago repo。我所做的改变是微不足道的,这次回购不是。根据下面的答案,我已经做到了:
$ git remote add myrepo ...`
$ git fetch myrepo
$ git checkout -b mybranch origin/v3.2-staging
$ git push myrepo mybranch
我希望不会上传任何内容,因为还没有提交任何内容。但是所有的v3.2-staging都开始上传。我想做的是将我的本地更改提交给mybranch。只有这样才能推送到myrepo/mybranch。什么样的
签出
会允许这样做?使用git add remote
将您的服务器添加为新的remote
;然后,当您推/拉时,您可以指定与哪个服务器通信
您可能还想使用git config
更改默认的遥控器,以更改master.remote
和master.merge
(git实际上允许不同的推拉默认值,您可能希望在此处使用)。使用
git format-patch -1 <commit_SHA>
git格式修补程序-1
假设您所在的分支机构是mybranch
,您要拨打的遥控器将呼叫myremote
- 添加遥控器
git remote add myremote[git|u URL | PATH | URL | SSH-LINE]
- 推动您的分支(以及可能对其进行的任何更改)
git推送myremote mybranch
- 如果以后要同时获取所有远程设备,而不是
dogit-fetch
git-remote-update
- 如果您想继续保持
与上游myremote/mybranch
分支保持同步,但将其推送到origin/upstream
,则最好更改配置,使其默认推送到myremote/mybranch
:myremote
(正在检查执行此部分的更好方法)git config remote.origin.pushurluser@user.com:repo.git
建议您阅读git书籍中的“使用远程回购”一节啊,这看起来正是我所需要的。让我研究一下git add remote。将
拉入
和推入
到不同的服务器会很好。非常感谢你!谢谢图书链接很有用。它将帮助我“真正了解我在做什么”,我并不总是遵循这个概念:pHighly高度推荐阅读它或至少略读itOK,所以我做了以下操作:$git remote add myrepo…
$git checkout-b mybranch origin/v3.2-staging
$git push myrepo mybranch
我本来希望不会上传任何内容,因为还没有提交任何内容。但是所有的v3.2-staging都开始上传了(我想)。我想做的是将我的本地更改提交给mybranch。只有这样才能推送到myrepo/mybranch。@diskless它做了它应该做的事情。您签出了一个名为mybranch
的本地分支,该分支基于origin/v3.2-staging
的内容(并根据您的配置进行跟踪)。然后将此分支推送到您的myrepo
。如果它在那里不存在,它将把这个分支上传到那个回购协议。您是否向本地分支提交了任何内容都是无关紧要的,重要的是您要推到的远程分支是否存在,以及它是否会是一个快速合并。@无盘我修改了我的回答,强调我认为您被“您的更改”绊倒了;实际上,您的更改第一次是分支的存在。