Evolution Fast-forward - Part 2 - Integral Yoga of Sri Aurobindo
目次:
Gitホスティングに関しては、いくつかのオプションを利用できます。 GitHub、Gitlab、Bitbucketは一般的なソリューションですが、独自のGitサーバーを実行することも検討する価値があります。
Gitサーバーをセットアップすると、プロバイダーの無料プランの制限なしにプライベートリポジトリを作成できます。
このガイドでは、LinuxでベアGitサーバーをセットアップする方法を説明します。 リポジトリがほとんどなく、協力者が技術に精通している場合、この設定は適切です。 それ以外の場合は、Gitea、Gogs、Gitlabなどの自己ホストgitアプリケーションのインストールを検討する必要があります。
Gitサーバーは、任意のリモートLinuxマシンまたはローカルシステム上でもセットアップできます。
Gitサーバーのセットアップ
最初のステップは、サーバーにGitをインストールすることです。
sudo apt update && sudo apt install git
CentOSサーバーにgitパッケージをインストールするには、次のように入力します。
sudo yum install git
次に、Gitリポジトリを管理する新しいユーザーを作成します。
sudo useradd -r -m -U -d /home/git -s /bin/bash git
ユーザーのホームディレクトリは
/home/git
設定されます。 すべてのリポジトリはこのディレクトリの下に保存されます。 ユーザー「git」のパスワードは設定しませんでした。ログインはsshキーを使用した場合のみ可能です。
su
コマンドを使用してユーザー「git」に切り替えます。
sudo su - git
次のコマンドを実行して、SSHディレクトリを作成し、適切な権限を設定します。
mkdir -p ~/.ssh && chmod 0700 ~/.ssh
承認済みユーザーのSSHキーを保持する
~/.ssh/authorized_keys
という名前のファイルを作成します。
touch ~/.ssh/authorized_keys && chmod 0600 ~/.ssh/authorized_keys
それでおしまい。 サーバーのセットアップが完了しました。 これで、最初のGitリポジトリを作成する準備ができました。
次のコマンドを実行して、新しい空のリポジトリを開始します。
git init --bare ~/projectname.git
必要に応じてディレクトリに名前を付けることができます。 重要なことは、「git」ユーザーのホームディレクトリの下にリポジトリを作成することです。
Initialized empty Git repository in /home/git/projectname.git/
ローカルGitリポジトリーの構成
ローカルgitの変更をGitサーバーにプッシュできるようにするには、ローカルユーザーのSSH公開キーをリモート「git」ユーザーの
authorized_keys
ファイルに追加します。
cat ~/.ssh/id_rsa.pub
出力は次のようになります。
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDd/mnMzHwjUzK8g3ldfsfRpJuC16mhWamaXRk8ySQrD/dzpbRLfDnZsLxCzRoq+ZzFHGwcQlJergtergdHGRrO8FE5jl3IWRRp+mP12qYw== [email protected]
新しいSSHキーペアを生成するには、次のコマンドを使用します。
ssh-keygen -t rsa -b 4096 -C "[email protected]"
上記の
cat
コマンドの出力をコピーして、Gitサーバーコンソールに戻ります。
サーバーで、テキストエディターを開き、ローカルマシンからコピーした公開キーを
~/.ssh/authorized_keys
ファイルに貼り付けます。
sudo nano /home/git/.ssh/authorized_keys
公開鍵のテキスト全体を1行に収める必要があります。
Gitパッケージは既にローカルマシンにインストールされていると想定しています。 そうでない場合は、前のセクションで説明したのと同じ方法でインストールします。
cd /path/to/local/project
gitリポジトリを初期化します:
git init.
最後のステップは、git remoteをローカルリポジトリに追加することです。
git remote add origin git@git_server_ip:projectname.git
git_server_ip
をGitサーバーのホスト名またはIPアドレスに置き換えることを忘れないでください。
すべてが正しくセットアップされていることを確認するには、テストファイルを作成します。
touch test_file
ステージング領域に変更を追加します。
git add.
変更をコミットします。
git commit -m "descriptive message"
ローカルリポジトリの変更をリモートリポジトリにプッシュします。
git push -u origin master
すべてが正しく設定されている場合、出力は次のようになります。
Counting objects: 3, done. Writing objects: 100% (3/3), 218 bytes | 218.00 KiB/s, done. Total 3 (delta 0), reused 0 (delta 0) To git_server_ip:projectname.git * master -> master Branch 'master' set up to track remote branch 'master' from 'origin'.
新しい共同編集者を追加するには、公開SSHキーを「git」ユーザーの
~/.ssh/authorized_keys
ファイルにコピーするだけです。
同じ手順を使用して、新しいリポジトリを作成できます。 git remoteをローカルリポジトリに追加する前に、リモートリポジトリが存在する必要があることに注意することが重要です。
結論
このチュートリアルでは、独自のプライベートGitサーバーをセットアップし、リポジトリを作成する方法を示しました。