アンドロイド

gitサーバーをセットアップする方法

Evolution Fast-forward - Part 2 - Integral Yoga of Sri Aurobindo

Evolution Fast-forward - Part 2 - Integral Yoga of Sri Aurobindo

目次:

Anonim

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サーバーをセットアップし、リポジトリを作成する方法を示しました。