2013-10-16 132 views
2

我正在修改我的特定ARM板的Linux内核。如何将更改存储到其他服务器端存储库中的git存储库?

我已经克隆了这个仓库:http://arago-project.org/git/projects/?p=linux-am33x.git

我要提交我所做的更改,并推动他们,但我自己的服务器,而不是阿拉戈服务器。我目前正在对我的工作目录进行比较,并将差异提交给我自己的服务器端回购。有没有更优雅的方法呢?

请注意,我不想克隆我的服务器上的整个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会允许这个?

回答

3

假设你在分支mybranch,你要按下遥控器,你将调用myremote

  • 添加远程
    git remote add myremote [GIT_URL|PATH|URL|SSH-LINE]
  • 把你的分支(并可能对其进行任何更改)
    git push myremote mybranch

然后你必须选择和管理自己,你想从检查或跟踪在未来

  • 如果以后要获取所有你的遥控器一起,而不是git fetchgit remote update

  • 如果您想要继续保持myremote/mybranch与上游origin/upstream分支同步,但将其推送到myremote/mybranch,那么最好通过更改配置使其在缺省情况下推到myremote
    git config remote.origin.pushurl [email protected]:repo.git(检查是否有更好的方式来做到这一点的一部分)

建议你采取与混帐书http://git-scm.com/book/en/Git-Basics-Working-with-Remotes

+0

谢谢。该书链接很有用。它会帮助我“用git真正知道我在做什么”,这个概念我并不总是遵循:p – diskless

+0

非常高度推荐阅读它或至少阅读它 – UpAndAdam

+0

好的,所以我做了以下操作: ' $远程Git添加myrepo ...'' $混帐取myrepo' '$ git的结帐-b mybranch产地/ V3.2-staging' '$混帐推myrepo mybranch' 我期待,没有什么会被上传,因为还没有提交任何内容。但是所有v3.2版本都开始上传了(我认为)。 我想要做的是将我的本地更改提交给mybranch。只有这个应该推到myrepo/mybranch。 – diskless

-1

将您的服务器添加为新的remote,使用git add remote;那么当你推/拉你可以指定你与哪个服务器通信。

您可能还想更改默认的远程使用git config来更改master.remotemaster.merge(git实际上允许推拉的不同默认值,您可能会在这里使用它)。

+0

阿的远程回购的部分工作的读,这看起来_exactly_像我需要什么。让我研究'git add remote'。将“拉”和“推”到不同的服务器会很好。非常感谢! – diskless

+0

这甚至不正确。这是git remote add。 – UpAndAdam

0

使用

git format-patch -1 <commit_SHA> 
相关问题