14

いくつかのコンテキストについて:既存のgitosisインストールを壊したUbuntuをアップグレードしたところ(ここを参照:バグ#368895)、パッケージからgitosisを再インストールしました。古い gitosis インストール (まだ存在し、プルすることはできますが、それ以外の場合は壊れています) から構成全体とリポジトリのセットを移行したいと考えています。

これで、gitosis インストールごとに 1 つずつ、ローカルに 2 つの gitosis-admin ディレクトリができました。1 つは完全な履歴を持ち、もう 1 つは空です。この歴史を紐解いていきたい。しかし、ここで何が起こっているのですか:

me@server:~/gitosis-admin-new$ git merge ../gitosis-admin-old/
fatal: '../gitosis-admin-old/' does not point to a commit

...そこにはgitリポジトリが~/gitosis-admin-old/あり、~/gitosis-admin-new/

おそらく、他のリポジトリについてもこれを行う必要があるでしょう。これらのリポジトリには、はるかに長く重要な履歴があるため、1 つとしてコピーしてコミットすることはできません。

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

4

2 に答える 2

26

(ブランチ用ではgit pullなく)リポジトリで使用する必要があります:git merge

git pull ../gitosis-admin-old/

マージするには、リモートでブランチを選択する必要がある場合があります。例:

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

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

于 2009-10-30T23:25:27.890 に答える
5

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

git remote add admin-old file://$HOME/gitosis-admin-old
git pull admin-old
于 2009-10-30T20:12:39.460 に答える