GitとGitLab

Linux

はじめに

これまでWindowsからSmaba経由でファイルを編集し、その履歴をTortoisegitとGitLab(CE:Community Edition)で管理していました。
最近、Gitのデフォルトブランチをmasterからmainに変更になったことで不都合が起きていたので、Tortoisegitを使わずにサーバ上でgitコマンドを行うことにしました。

構成

- Debian bookworm
- git 2.30.2
- gitlab-ce 16.10.1-ce.0

SSHキー作成とGitLabへの登録

SSHキーを作成します。

cd ~/.ssh
ssh-keygen -t rsa -C 【メールアドレス】

秘密鍵のパーミッションを変更します。
デフォルトで既に600ですが、確認します。

chmod 600 gitlab20240327_rsa

公開鍵を登録します。

cat gitlab20240327_rsa.pub >> ~/.ssh/authorized_keys

GitLabに登録します。

・左上の自分のアイコンをクリックする。
・Edit Profile setting
・SSH Keys
・Add new key
・Titleを入力する。
・Keyにgitlab20240327_rsa.pubのファイル内容をコピペする。
・「Add key」をクリックする。

gitが自動で読み込むSSHキーのファイル名は下記です。
これ以外のファイル名で保存する場合は、設定が必要です。
どのファイルをデフォルトで読み込んでいるかは「ssh -Tvvv git@abcd.com」コマンドで確認できます。

・id_rsa.pub
・id_ecdsa.pub
・id_ed25519.pub

SSHキーを使ってGitLabと通信します。 | GitLab
GitLab product documentation.

GitLabのサーバに使用するSSHキーを指定します。

vi ~/.ssh/config

内容は以下の通りです。

# GitLab
Host test of abcd.com
  HostName abcd.com
  PreferredAuthentications publickey
  IdentityFile ~/.ssh/gitlab20240327_rsa
  User git

Gitの初期化など

Gitの初期化を行います。
デフォルトのブランチをmainに設定します。

cd /home/www/wsgi/project/
git init
git init --initial-branch=main
git switch --create main
git config --global user.name "Taro Ultra"
git config --global user.email "XXXX@abcd.com"

GitLabに新規プロジェクトを作成して、URL(git@abcd.com:emailaddoress/test.git)をコピーします。

・プロジェクトのページを開く。
・Code
・Clone with SSH

新規に作成したプロジェクトのデフォルトブランチがmainであることを確認します。

・プロジェクトのページを開く。
・Settings
・Repository
・Branch defaults

origin-testという名称でGitLabのサーバを登録して、接続できるか確認します。
名称は他と重複しないようにします。

git remote add origin-test git@abcd.com:emailaddoress/test.git

ssh -Tvvv git@abcd.com

コミットとPushのテスト

コミットとPushのテストを行います。

cd /home/www/wsgi/project/
git status
git add -A
git commit -a -m"comment 1" -m"comment 2"
git push --set-upstream origin-test main
git log

次回からのpushは、以下で良いです。

git push origin-test main
コマンドライン Git | GitLab
Introduction to using Git through the command line.

その他のgitのコマンドです。

git diff --cached
git diff
git status
git branch -a

Comments