2

我正在为我的特定 ARM 板更改 Linux 内核。

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

我想提交我所做的更改,并将它们推送到我自己的服务器,而不是 arago 服务器。我目前正在对我的工作目录进行差异化并将差异提交到我自己的服务器端存储库。有没有更优雅的方法呢?

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

4

3 回答 3

3

假设您所在的分支是mybranch并且您想要访问的遥控器将调用myremote

  • 添加遥控器
    git remote add myremote [GIT_URL|PATH|URL|SSH-LINE]
  • 推送您的分支(以及可能对其进行的任何更改)
    git push myremote mybranch

然后,您必须选择和管理您自己将来要从中签出或跟踪的内容

  • 如果您以后想一起获取所有遥控器而git fetch不是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中使用远程仓库的部分

于 2013-10-16T14:04:08.793 回答
0

利用

git format-patch -1 <commit_SHA>
于 2013-10-16T13:58:29.900 回答
-1

添加你的服务器作为一个新的remote,使用git add remote; 然后当您推/拉时,您可以指定与哪个服务器通信。

您可能还想更改默认远程使用git config来更改master.remotemaster.merge(git 实际上允许推送和拉取不同的默认值,您可能希望在此处使用)。

于 2013-10-16T13:57:55.027 回答