1. ホーム
  2. ギット

[解決済み】「git --bare init」リポジトリはどのように使用するのですか?

2022-03-25 22:42:04

質問

Git のセントラルリポジトリを作成する必要があるのですが、少し混乱しています...。

私は、ベアリポジトリ(私のgitサーバ、マシン2)を次のように作成しました。

$ mkdir test_repo
$ git --bare init

さて、私はローカルリポジトリ(マシン1)からベアリポジトリ(マシン2)にファイルをプッシュする必要があります。私はマシン2にSSHでアクセスしています。問題は、私がベアリポジトリの概念を理解していないことです...。

ベアリポジトリに私のコードを保存する正しい方法は何ですか?どのように私は私のローカルリポジトリからベアリポジトリに変更をプッシュすることができますか?

セントラルリポジトリを持つということは、ベアリポジトリを持つということでいいのでしょうか?

私はこのテーマで少し混乱しています。この件に関するヒントをお願いします。

どのように解決するのですか?

まず、念のため、作成したディレクトリに移動してから git init --bare . また、裸のリポジトリに拡張子 .git . だから、次のようにすることができます。

git init --bare test_repo.git

Git バージョン < 1.8 の場合、次のようになります。

mkdir test_repo.git
cd test_repo.git
git --bare init

後の質問に答えると、ベアリポジトリは(定義上)作業ツリーを持たないので、ベアリポジトリでない通常のリポジトリのように簡単にファイルを追加することはできません(たとえば git add <file> と、それに続く git commit .)

ベアリポジトリの更新は、ほとんどの場合、リポジトリにプッシュすることで行われます ( git push ) を他のリポジトリから取得します。

この場合、まず自分のリポジトリへのプッシュを許可する必要があることに注意しましょう。内部で test_repo.git を実行します。

git config receive.denyCurrentBranch ignore

コミュニティ編集

git init --bare --shared=group

prasanthvさんのコメントにもあるように、個人宅のプロジェクトではなく、仕事でやる場合は、このような形になります。