2009-10-30 14 views
13

いくつかの文脈で、私は既存のgitosisインストールを壊したUbuntuをアップグレードしました(ここではbug #368895参照)。パッケージからgitosisを再インストールしました。私は今、私の全体の設定とリポジトリのセットを古いgitosisのインストールから移行したいと考えています(これはまだ存在していますが、そこから引き出すことができますが、そうでなければ壊れています)。ローカルファイルシステムのリポジトリとgit-merge

これでgitosis-adminディレクトリを2つずつローカルに作成しました。 1つは完全な履歴を持ち、もう1つは空です。私はこの歴史を取り上げたい。ここけれども何が起こっているのです:

[email protected]:~/gitosis-admin-new$ git merge ../gitosis-admin-old/ 
fatal: '../gitosis-admin-old/' does not point to a commit 
~/gitosis-admin-old/~/gitosis-admin-new/

でGitのリポジトリがあるさ

...私はおそらくはるかに長く持っている、あまりにも他のリポジトリのためにこれを行う必要があるつもりだとより重要な履歴があるので、コピーアンドコミットはオプションではありません。

私は間違っていますか?私は.git/HEADを指し示そうとしましたが、私が理解しているのはコミットですが、うまくいきません。誰かがこれを行う方法を説明できますか?ありがとう!

答えて

21

あなたはリポジトリとgit pullを使用する必要があり、(枝のためである)ではないgit merge

git pull ../gitosis-admin-old/ 

あなたがマージし、リモートでブランチを選択する必要があるかもしれません、例えば:

git pull ../gitosis-admin-old/ master 

このマージを1回だけ行う必要がある場合は、jamessan answerのようなgit remote addを使用する必要はありません。一方、リモコンを再訪する場合(複数回に分けて)、このソリューションはgit pull <location> <branch>を使用するよりも優れています。

+0

受け入れ; 'マスター'のためにジャメッサンの答えで1つを得る!どうもありがとう :) –

3

そのリポジトリのリモートを作成してから、そこから&をマージ(または単にプル)する必要があります。

git remote add admin-old file://$HOME/gitosis-admin-old 
git pull admin-old 
関連する問題