1

私の目標は、ssh 経由でラップトップに複製できるラボ サーバーにリポジトリをセットアップすることです。サーバー上に作業コピーが必要です。これが私がしたことです:

サーバ:

mkdir myProject

git --init

(いくつかのファイルを追加してコミットし、空にならないようにします)

git clone --bare ~/myProject/.git/ ~/git/myrepo.git

ラップトップ:

git クローン erin@labserver.edu:/home/erin/myrepo.git

git add file1

gitコミット

ギットプッシュ

サーバ:

gitプル

次に、次のエラーが表示されます。

致命的: 今日はどこからフェッチしますか?

何が間違っている可能性があるか考えていますか?こちらの分岐/ステージング/リベースの指示に従ってみましたが、問題は解決しませんでした。また

git pull オリジンマスター

それも修正しませんでした。

4

1 に答える 1

0

記載されている手順に従いましたが、表示されたエラーを再現できません ( fatal: Where do you want to fetch from today?)。ただし、質問に記載されている手順に従っている場合はserver、リモートリポジトリがありません。プルするリモートgit pullがないため、機能しません。serverそれがあなたが得ているエラーの原因だと思います。

現時点では、サーバー: myProjectmyRepo、およびラップトップ myRepo( からクローンserver) の 3 つのリポジトリがあります。質問に対する私の理解が正しければ、myProject(on server) とmyRepo(on Laptop) を使用して作業することをお勧めします。私は、あなたがmyRepo(上にserver) 出入りできるステージング グラウンドとして持っているgit pushと仮定しますgit pull--bareこれは賢明な方法であるリポジトリとして設定したためです。

彼の回答にある の指示に従うと、リポジトリである と のtriad2 つのリポジトリが作成されます。リポジトリの再設定に慣れている場合は、次のような指示に従います。server--barelaptoptriad

  1. --bareどこかにリポジトリを作成します。ここが舞台となります。何か便利なものと呼んでくださいbareRepository
  2. いくつかの作業を含むリポジトリがあります。そのリポジトリ (serverまたは) で、リモートのリストにlaptop追加します: 。bareRepositorygit remote add <name> <url>
  3. git push(2)のレポジトリから へbareRepositorybareRepositoryそれはそれが最新のものであることを保証します。
  4. から作業することはできないため、作業リポジトリ (または)bareRepositoryを持たないコンピューターで再度クローンを作成します。クローンを作成しているため、git は;として扱います。作業ツリーでリポジトリを台無しにすることなく、心ゆくまでできます。serverlaptopbareRepositorybareRepositoryorigingit push origingit pull origin
  5. 2 つの作業リポジトリ ( に 1 つ、laptopに 1 つserver) と--bareリポジトリ (laptopまたはに 1 つ) を設定しserverたら、作業をうまく同期できるはずです。
    • いくつかの作業を行います
    • git commit作品
    • git push origin-作業をベアレポに取得します
    • 他のコンピューター:git pull originブランチを更新します。
于 2012-02-29T18:53:20.147 に答える