2017-01-07 6 views
0

いくつかのローカルgit reposを初期化しましたが、どれも<project>.gitというファイルはありません。 .gitディレクトリのみ。これらのレポジトリの1つをローカルネットワーク上の別のマシンに複製したいのですが、cloneには<project>.gitというファイルが必要です。このファイルはどのように生成されますか?ファイル<project> .gitはどこから来たのですか?

+1

「クローン」には、「 .git'ファイルが必要ですか?クローンを作成しようとしていて、エラーメッセージが表示されていますか? –

+1

'<>'(三角ブラケット)の単語は、通常避けられないパラメータまたは結果を参照します。この場合、ベアリポジトリを初期化すると、 ' .git' ** folder **のようなものが得られます。ここで' project'はあなたのプロジェクトの名前です。それはどんな単語、言葉でも構いません。 – 0andriy

+0

私は無視しました私が実際にやりたいことは、ネットワーク(NFS)共有上にクローンを設定し、2つのリポジトリを同期させることです。多分私は 'rsync'を使うべきでしょう。 –

答えて

1

project.gitproject/.gitではなく)の場合は、git clone --bareまたはgit init --bareを使用する必要があります。

これは、bare repositoryを作成します.1つは.gitの内容と作業ツリーなしです。

0

あなたはそれのすべてのファイルとgitデータを他のマシンにプロジェクトをコピーする必要がある場合のgitサーバー

git documentation to setup git server

+0

思考は私の心を越えていた。しかし、私はそれが私の直ちに過酷な目的だと思う。 –

1

をホストしようとしているようそしてちょうどフォルダをコピーらしいですあなたは.gitリポジトリを持っています。 .gitディレクトリには、gitのメタデータ(およびすべてのバージョン履歴)が含まれています。 gitのバージョン履歴を含むプロジェクトの完全な作業ツリーが作成されます。これは非ベアリポジトリと呼ばれます。

非ベアリポジトリは、別のリポジトリのクローンと、チェックアウトされたリビジョンを示す.git/HEADなどのローカル状態と、チェックアウト時に変更された内容を識別するためのインデックスコミットオブジェクトなどを準備するのに役立ちます。

裸のレポは、作業ツリーと.gitフォルダを含まないproject.gitです。 git init --bareまたはgit clone --bareで作成された裸のリポジトリは、基本的に共有するためのものです。開発者チームと協力してレポの変更を共有する場所が必要な場合、すべてのユーザーが変更をプッシュできる集中管理された場所にベアリポジトリを作成することができます。

bareレポが必要な場合は、project.gitを作成する必要があります。ディレクトリ内のproject.gitまたは.gitフォルダは、gitのメタデータとバージョン履歴を含むフォルダと同じです。

関連する問題