2014-09-30 160 views
0

我是新來的混帳。我試圖從一個遠程倉庫來another.The如下移動一堆git的項目是什麼,我想做的事:如何將一堆git倉庫從一個遠程倉庫移動到另一個倉庫?

  1. 得到所有的項目和代碼從「AAA」遠程倉庫,使用 回購的init -u git:// aaa/manifest -b test,然後用repo sync得到所有 下的「測試」分支下的代碼。

  2. 將這些代碼推送到「bbb」遠程存儲庫,所有項目和代碼都必須上傳到另一個分支「乾淨」。在上傳之前,所有項目都是在bbb遠程存儲庫上創建的。

我第一次嘗試從AAA遠程倉庫獲取分支測試的代碼和它沒有任何問題,運行良好。然後,當我想上傳到另一個遠程存儲庫時,我被拒絕並無法推送。我得到的最常見的錯誤信息是:「git push(無共同祖先)」。

我想知道如果有任何簡單的方法可以基於manifest.xml獲取所有代碼,然後推送到另一個遠程存儲庫而不做任何更改?我一直在嘗試這樣做一個星期,但仍然無法得到它。如果有人能幫助我解決這個問題,我將非常感激,非常感謝!

2014年1月10日招生對象:

我想從一個遠程服務器移動至少100個項目到另一個,不僅移動一個項目。因此,如果在主機「A」的分支「測試」下有100個項目,我想將它們移動到主機「B」,並置於分支「guest」下。希望你能理解我的問題,並感謝我已經得到的2個答案,你很友善。

回答

0

Git可以在任何地方推動任何東西,如果你「迫使」它這樣做。

在你的情況下,它拒絕推動,因爲Git找不到任何共同的祖先。如果你試圖「強制」推送它,你的分支將被推送,但它將是一個不連通的分支。

現在,如果我理解正確的話,您想從「aaa」的一個分支中取出代碼並將其推送到另一個「bbb」分支。

爲此,最好直接使用refspec。 (由於您是新與git,建立一個共同的祖先將是疼痛)

回購AAA: 1.添加遠程 'AAA'

  • $git fetch aaa manifest

  • $git checkout -b test aaa/manifest

  • $git push -f bbb test

  • P.S:根據你的問題,我在步驟4中給出了'f',你在aaa和bbb之間沒有任何共同的祖先。

    Happy Gitting!

    +0

    嗨,Nudassir, 非常感謝你答覆我!似乎它會工作!但是,我碰到了「無效作者」的情況,請問如何解決這個問題?謝謝! – 2014-09-30 09:22:30

    +0

    莉莉,這個錯誤是在你沒有配置你的git user.name或email的時候出現的。設置用戶名和電子郵件您可以運行'git config --global user.name「您的用戶名」'和'git config --global user.email「[email protected]」' 要更改作者提交你已經提出這個http://stackoverflow.com/questions/750172/change-the-author-of-a-commit-in-git – 2014-09-30 11:06:11

    +0

    請upvote和/或接受答案,如果它幫助你。將幫助他人知道什麼是正確的解決方案。 :) – 2014-09-30 11:07:10

    0

    步驟,推動你的代碼到另一個遠程倉庫,與分行名稱乾淨

    • 先在你的本地庫使用此命令git branch clean
    • 然後添加其他遠程URL(BBB URL創建分支)通過此命令git remote add otherremotename otherremoteURL
    • 然後使用此命令將代碼推送到分支名稱的遠程存儲庫cleangit push otherremotename clean
    +0

    謝謝!我正在嘗試這個,稍後會報告我的進展! – 2014-10-01 05:42:20

    相關問題