2013-10-16 128 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> 
相關問題