私はGitに少し慣れていません。したがって、私のタスクは、3人の開発者のために、自分のブランチにのみ接続し、自分のブランチでのみ機能する3つのブランチを作成することです。このようなもの:
developer 1 == branch 1
developer 2 == branch 2
ヘルプやチュートリアルが役立ちます。
私はGitに少し慣れていません。したがって、私のタスクは、3人の開発者のために、自分のブランチにのみ接続し、自分のブランチでのみ機能する3つのブランチを作成することです。このようなもの:
developer 1 == branch 1
developer 2 == branch 2
ヘルプやチュートリアルが役立ちます。
Git自体にはアクセス制御は含まれていません。
GitoliteはGitサーバーであり、個別のブランチへのアクセスの設定を含むアクセス制御を提供します。
彼らはこれを行う必要があります:
開発者1:git checkout branch1
開発者2:git checkout branch2
開発者3:git checkout branch3
したがって、彼らは独自のブランチを使用します。push
チェックアウトされたブランチのみになります。
ただし、必要に応じて、別のブランチを使用できます。したがって、別のブランチの使用を拒否する場合は、開発者ごとに個別のリポジトリを作成するだけです。
http://progit.orgまたはhttp://sethrobertson.github.com/GitBestPracticesのいずれかでgitワークフローを確認することをお勧めします
seanhodgesが示唆したように、デフォルトでは、各開発者がアップストリームリポジトリのクローンを作成すると、マスターなどのプライベートバージョンのブランチが作成されます。彼らは地元でやりたいことを何でもすることができます。他の人と共有する準備ができたら、プッシュ/プルなどします。それらが「dev1」という名前のブランチにある必要がある特別な理由はありません。他の人が自分のものを見たい場合は、開発者のリポジトリをリモートとして追加してから、dev1/masterを見ることができます。
あなたが彼らがあなたが提案した方法でそれをしたいのなら、あなたはもちろんそうすることができます。ただgit checkout $USER
。人々は、ユーザーブランチよりも機能ブランチ(特定の機能のブランチ)を作成する方が便利だと感じています。
アクセス制御について話している場合は、他の回答で述べられているように、おそらくgitoliteが最善の策ですが、最も正式な状況を除いて、気にする必要がある理由は実際にはありません。ユーザーが何かを台無しにした場合、いつでもそれらの変更を吹き飛ばしたり、以前の状態に復元したりできます。