Set up Git serve

2065 ワード

GitHubは無料でソースコードを管理する遠隔倉庫です。しかし、いくつかのソースコード、例えば生命のビジネス会社にとっては、ソースコードを公開したくないし、GitHubに保護費を支払うのがもったいないので、自分でGitサーバーを作ってプライベート倉庫として使うしかないです。
Gitサーバーを構築するにはLinuxを実行するマシンを用意する必要があります。UbuntuやDebianを使用することを強く推奨します。このように、いくつかの簡単なアプリコマンドでインストールが完了します。
既にsudoの権限を持つユーザーアカウントがあると仮定して、以下、正式にインストールを開始します。
第一歩、gitの取り付け$ sudo apt-get install git第二ステップ、gitユーザを作成して、gitサービスを実行します。$ sudo adduser gitステップ3で証明書登録を作成します。
登録する必要があるすべてのユーザの公開鍵を収集することは、彼ら自身のid_rsa.pubファイルであり、すべての公開鍵を/home/git/.ssh/authorized_keysファイルに導入し、1行1つです。
第四ステップ、Git倉庫を初期化する:
最初にGigt倉庫としてディレクトリを選択し、/srv/sample.gitとして、/srvディレクトリの下にコマンドを入力します。
Gitは裸倉庫を作成します。裸倉庫は作業エリアがありません。サーバー上のGit倉庫は純粋に共有するために、ユーザーが直接にサーバーに登録して作業エリアを変えないようにします。そして、ownerをgitに変更します。$ sudo git init --bare sample.git
ステップ5でshell登録を無効にします。
セキュリティの観点から、第二のステップで作成されたgitユーザは、shellにログインすることを許可しない。これは、$ sudo chown -R git:git sample.gitファイルを編集することによって完了することができる。次のような行が見つかりました。/etc/passwdgit:x:1001:1001:,,,:/home/git:/bin/bashとなりました。そうすれば、gitユーザは正常にsshを通じてgitを使用することができますが、shellは登録できません。
第六ステップ、リポジトリのクローン:
今は、git cloneコマンドで遠隔倉庫のクローンができます。それぞれのコンピュータで実行します。git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell Coning into‘sample’…warning:You appar to have cloned an empy repository。残りのプッシュは簡単です。
公開鍵の管理
  • チームが小さければ、一人一人の公開鍵をサーバの$ git clone git@server:/srv/sample.gitファイルに集めておくことができます。
  • チームに何百人もの人がいると、このように遊べなくなります。この時はギトシスで公開鍵を管理することができます。ここではGitonsはどうやって遊んだらいいですか?何百人のチームは大体500強になります。高いレベルのLinux管理人を探しても大丈夫です。
  • 管理権限
  • には生命のようなソースコードだけでなく、従業員を泥棒と見なしている会社がたくさんあります。バージョンコントロールシステムに完備された権限を設定します。一人一人が読み書きの権限を持っているかどうかは各分岐または各ディレクトリに正確に届きます。
  • GitはLinuxソースコードの委託管理のために開発されたので、Gitはオープンソースコミュニティの精神を継承し、権限コントロールをサポートしていません。ただし、Gitはフックに対応していますので、サーバー側で一連のスクリプトを作成して提出などの操作を制御することができます。Gitliteはこの道具です。
  • 結び目
  • Gitサーバを構築するのはとても簡単で、通常10分で完成できます。
  • 公開鍵を管理しやすくし、ギトシスを使う。
  • はSVNのように変态的に権限を制御し、ギトトリーを利用する。
  • 廖雪峰先生から転任しました。