2013-10-20 6 views
5

私はgitで新しく、いくつかの疑問があります。リポジトリを個人的または中央的に初期化することとの違いは何ですか?Git拡張機能 - パーソナルリポジトリとセントラルリポジトリの違い

私が中央に設定すると、私のチームのすべてのメンバーがアクセスできます。しかし、私が個人的に初期化すると、私はそれにアクセスできます(私のチームの他のメンバーはアクセスできません)。私は正しい?

もし私が正しいと私個人の中央リポジトリとgitの違いは何ですか?セントラルレポジトリの場合、何が意味するのでしょうか?

+4

標準のgit用語は使用していません。 「中央」リポジトリや「個人的」リポジトリはありません。 Gitはほとんどの場合、アクセス制御機能を内蔵していません。 '--bare'で初期化するのか、それを使わないで初期化するのですか? –

+0

git拡張機能を使用しています。だから私はリポジトリを初期化しようとすると、個人的な(裸ではない)または中央の(裸の)リポジトリとして初期化するように頼んでいます。かっこでは、中央では、(--bare --shared = all)と表示されます。 – user304602

+1

その場合、裸のリポジトリは、作業ツリーがチェックアウトされていないことを意味します。ディスクに保存されているのは '.git'フォルダとその内容だけです。通常のリポジトリには作業ツリーがチェックアウトされています。つまり、リポジトリに保存されているファイルを編集して作業することができます。 –

答えて

7

非ベアリポジトリは開発者が使用するリポジトリです。作業コピーがチェックアウトされています。つまり、コードは直接利用できます。

裸のリポジトリの場合は、すべて.gitフォルダの内容があります。これは、リポジトリとの間でプッシュ/プルするのに最適ですが、コードを直接表示したり、コードを操作するのに適していないという明白な理由からです。

したがって、開発したいものは、裸ではないリポジトリが必要です。あなたが別のマシンにプッシュしたい場合は、そこに裸のものを作成し、あなたの非裸のものからプッシュしてください。たとえば、 GitHubでは、手動でベアリポジトリを作成することはありません。ウェブサイト(通常は内部に作成してアクセス制御を設定します)で作成し、リモートでローカルに設定します(リポジトリのアドレスが表示されるので&を貼り付ける必要があります)。

+0

私が理解するように、最初に、それが起源であるとき、裸のリポジトリを使う方が良いです。その後、チームメンバはローカルマシンにクローンして作業したり、変更したりすることができます。最後に、チームメンバが変更をコミットして、チームの他のメンバがその変更をコミットしたい場合変更、彼は彼の変更を行う。私は正しい?これらの変更がコミットされると、チームの他のメンバがクローンコードを更新してその変更を確認する方法を教えてください。 – user304602

+1

一般的に私は非裸のリポジトリから始めて、自分でそこで作業します。他の人と調整する時に、私はサーバ上に空の裸のリポジトリを作成し、この時点まで自分の仕事をプッシュします。 –

3

Gitが配布されています。他のユーザーがあなたのレポにアクセスすることを許可した場合、あなたから直接フェッチ/プルすることができます。その場合、中央リポジトリは必要ありません。マスターはあなたが決めるものです。

裸のレポは、個人の.gitリポジトリにあるデータです。作業フォルダには、実際のデータ(Cプログラマの場合は.cファイル)と、ヒストリであるリポジトリを持つ.gitフォルダと、gitが必要とするその他すべてのデータがあります。ベアは "チェックアウトされたデータ"を必要としないので、.gitファイルだけです。

裸のレポは、あなたのパーソナルレポと同じ、またはその逆です。例外はローカルデータを扱うときです。なぜなら、それが必要ではないので、裸のリポジトリにはそれがあるからです。

レポを整理する方法には複数のオプションがあります。 いずれの場合も、各個人にローカルレポがあります。

リモートリポジトリはすべて裸で、1つのリモートリポジトリを持つことができます。また、各メンバーはいつでも読み取り可能な独自のリモートリポジトリを持っています。 最後の1つはgithubで使用されるバージョンで、最初のオプションは1つのリモートが集中リポジトリ(SVNのような設定)です

3

私は2つの状態を公開し、プライベートと見なします。
プライベートは私のためだけです。私のコードをクラウドに入れておくと便利です。バックアップして、私が使用しているマシンにダウンロードすることができます。

公開。 公開は、プロジェクトに入力したキーを持つ他の人(「協力者」)と共有するためのものです。

関連する問題