Gitは広く利用されているバージョン管理システムであり、複数人でのプロジェクト開発を効率化するための重要なツールです。
Gitのインストール
Ubuntu環境では以下のコマンドでGitをインストールできます:
$ sudo apt-get install git
Windows環境ではhttp://msysgit.github.io/からインストーーラーをダウンロードしてください。
初期設定
まず最初に、コミット時の識別情報としてユーザー名とメールアドレスを設定します:
$ git config --global user.name "developer-name"
$ git config --global user.email developer@example.com
さらに、リモートプッシュに関する設定も行います:
$ git config receive.denyCurrentBranch ignore
サーバー環境の準備
プロジェクトファイルとの競合を避けるため、専用のgitユーザーを作成します:
# adduser git
# su git
SSH認証用のディレクトリとファイルを作成します:
$ mkdir .ssh && chmod 700 .ssh
$ cd .ssh
$ touch authorized_keys && chmod 600 authorized_keys
authorized_keysファイルには、各開発者の公開鍵を追加してください。複数の公開鍵がある場合は>>演算子を使用して順次追加します。
リポジトリの作成
リモートリポジトリ用のディレクトリを作成し、ベアリポジトリとして初期化します:
$ mkdir project-repo.git
$ cd project-repo.git
$ git init --bare
クライアント側での利用
新しいプロジェクトディレクトリでローカルリポジトリを初期化し、ファイルを追加します:
$ mkdir my-project && cd my-project
$ git init
$ echo "Welcome to our project" > README.md
$ git add README.md
$ git commit -m "Initial commit with README"
リモートリポジトリを登録し、コードをプッシュします:
$ git remote add origin git@127.0.0.1:/home/git/project-repo.git
$ git push origin master
トラブルシューティング
SSH接続エラーが発生した場合:
ssh: connect to host 127.0.0.1 port 22: Connection refused
openssh-serverパッケージが不足している可能性があります。以下でインストールしてください:
$ sudo apt-get install openssh-server
動作確認
別の場所でリポジトリをクローンし、プッシュが正常に行われたことを確認します:
$ cd ~/workspace
$ git clone git@127.0.0.1:/home/git/project-repo.git
$ ls -la
SSHキーの生成
認証に必要なSSHキーペアは以下のコマンドで生成します:
$ ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
デフォルト設定で実行する場合はEnterキーを押下してください。生成されたキーは ~/.ssh/ ディレクトリに保存されます:
$ ls ~/.ssh/
id_rsa id_rsa.pub
id_rsaが秘密鍵、id_rsa.pubが公開鍵です。公開鍵をリモートサーバーのauthorized_keysに追加することで認証が可能になります。