如何将更改存储到其他服务器端存储库中的git存储库?

我正在修改特定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.remotemaster.merge (git实际上允许不同的推拉默认值,你可能会在这里使用)。