回答:
チームとプロジェクトを共有するためのgitサーバーのインストールを探しています。
gitサーバーを持つためにリモートサーバーで必要なのはgitだけです。きめの細かい権限(チームとのみ共有することで可能であることが示唆されています)やその他の機能が必要ない場合は、ギトリライトなどは必要ありません。
リモートサーバーでgitが利用できる場合は、何もせずに、今求めていることを実行できます。
ssh [user@]server
cd repos/are/here/
mkdir project.git
cd project.git
git init --bare
ローカル:
cd projects/are/here/project
git remote add origin [user@]server:repos/are/here/project.git
git push -u origin master
専用のgitユーザーを使用して作業を行う場合、gitサーバーの設定に関するドキュメントは非常に簡単です。
要約すれば:
.ssh/authorized_keys
ファイルに追加するgit-shell
専用のgitユーザーを使用する場合と使用しない場合の唯一の違いは、使用するようにgitユーザーを設定した場合git-shell
、それ自体が他のことを行うことができないことです。ただし、gitサーバーとして機能するという点では、インストールしないソリューションと同じです。
git push -u origin master
使用できますgit push
。私の意見では、リポジトリにアクセスする人はリモートシステム上での絶対パスを気にする必要がないので、私はgito *を好みます。
/home/git/
は、プロジェクトにアクセスするためにURLにリポジトリを配置した場合、あなたが何を意味するのかを推測しますgit@server:project.git
。
主な違いは、gitosisが廃止され、積極的に維持されなくなったことです。
Gitoliteははるかに機能が充実しており、3番目のバージョンがリリースされました。
その最も興味深い機能は、仮想参照(略してVREF)です。これにより、必要なだけ更新フックを宣言でき、プッシュを次のように制限できます。
dir / file name:
ジュニア開発者がMakefileに変更をプッシュしたくない場合は、非常に複雑です。
- VREF/NAME/Makefile = @junior-devs
新しいファイルの数:
小さなコミット
を作成するために、ジュニア開発者がコミットごとに9個を超えるファイルをプッシュしたくないとします。
- VREF/COUNT/9/NEWFILES = @junior-devs
高度なファイルタイプ検出:
ファイルには標準の拡張子(「gitignore」できない)が付いている場合がありますが、実際には自動的に生成されます。これをキャッチする1つの方法を次に示します。
- VREF/FILETYPE/AUTOGENERATED = @all
src/VREF/FILETETYPE
検出するます。検出メカニズムを確認するには、を
参照してください。
著者のメール
を確認する:「自分のコミットのみをプッシュできる」ことを確認したい人もいます。
- VREF/EMAIL-CHECK = @all
を参照してくださいsrc/VREF/EMAIL-CHECK
。
コミットへの投票:コミットへの投票
の基本的な実装は驚くほど簡単です:
- VREF/EMAIL-CHECK = @all
。
# 2 votes required to push master, but trusted devs don't have this restriction
# RW+ VREF/VOTES/2/master = @trusted-devs
# - VREF/VOTES/2/master = @devs
src/VREF/VOTES
実装
については、を参照してください。
等々...
ただの付記。必要に応じてGerritを使用することもできます。
最初に、Gerritはコードレビューに使用されているようですが、実際にはユーザーの管理にも使用でき、適切に定義されたアクセス許可を付与できます。次のことができバイパスのコード・レビュー(トラフアクセス制御)とちょうどプロジェクトとssh-鍵を管理するためにそれを使用。Gerritには、非常に強力なアクセス制御メカニズムがあります。
ブランチ、タグ、またはアクセスコントロールドキュメントで定義されていると想像できるあらゆるものをプッシュするように制限できます。
さらに迅速で汚れたソリューションの場合は、gitデーモンを使用してピアツーピアにします。ここに記事があります行うことについては次のとおりです。
編集:これは、OPの質問に厳密に答えるものではないことを認識しています。これは主に、エンタープライズのgithubアカウントが設定されるまでコードを共有するためのダウンして汚い方法を探しているときにこれに遭遇した人のためにここに配置します。
私はgitサーバーをLDAPアクセス、きめの細かいアクセス制御などで動作させるためにしばらくいじっています...発見を発見:Gitlabを使用:
迅速かつ迅速なインストール方法が必要な場合:bitnamiインストーラーを使用