我正在修改特定ARM板的Linux内核。
我已经克隆了这个库: http://arago-project.org/git/projects/?p=linux-am33x.git
: http://arago-project.org/git/projects/?p=linux-am33x.git
我想提交我所做的更改,并将它们推送到我自己的服务器,而不是arago服务器。 我目前正在对我的工作目录进行比较,并将差异提交到我自己的服务器端回购。 有没有一个更优雅的方法呢?
请注意,我不想克隆我的服务器上的整个arago回购。 我做的改变是微不足道的,这个回购不是。 根据下面的答案,我已经这样做了:
$ git remote add myrepo ...` $ git fetch myrepo $ git checkout -b mybranch origin/v3.2-staging $ git push myrepo mybranch
我曾经期待没有任何东西会被上传,因为还没有任何东西被提交。 但所有的v3.2分段开始上传。 我想要做的是将我的本地更改提交给mybranch。 只有这应该被推到myrepo / mybranch。 什么样的checkout
将允许这样做?
假设你所在的分支是mybranch
,而你想打的遥控器将会打电话给myremote
git remote add myremote [GIT_URL|PATH|URL|SSH-LINE]
git push myremote mybranch
然后你必须选择和管理你自己想要在将来退房或跟踪
如果你以后想要所有的遥控器一起取代git fetch
do git remote update
如果你想继续保持myremote/mybranch
与一个上游origin/upstream
分支同步,但将其推送到myremote/mybranch
那么你将通过改变配置,以便默认推送到myremote
最好的服务:
git config remote.origin.pushurl user@user.com:repo.git
(检查更好的方法来做这部分)
建议您阅读与git-book的远程回购部分的工作http://git-scm.com/book/en/Git-Basics-Working-with-Remotes
使用
git format-patch -1 <commit_SHA>
添加你的服务器作为一个新的remote
,使用git add remote
; 那么当你推/拉你可以指定你与哪个服务器通信。
您可能还想更改默认的远程使用git config
来更改master.remote
和master.merge
(git实际上允许不同的推拉默认值,你可能会在这里使用)。