ラベル Git の投稿を表示しています。 すべての投稿を表示
ラベル Git の投稿を表示しています。 すべての投稿を表示

2025年7月12日土曜日

Pull Request 作成ガイドのひな形を作った

毎プロジェクトで作っていて毎回面倒だと思っている気がするのでひな形を作った。

# 開発者向け Pull Request 作成ガイド

以下の手順で開発環境を整え、プルリクエストを送ってください。

## 1. リポジトリをクローンする

まずは GitHub 上のリポジトリをローカルにクローンします。

```sh
git clone https://github.com/YourOrganization/YourRepository.git
cd YourRepository
```

**既に clone 済みの場合**

すでにリポジトリを clone している場合は、main ブランチに移動し、最新のソースコードを取得します。

```sh
git switch main
git pull origin main
```

## 2. 新しいブランチを作成する

開発作業は必ず新しいブランチで行ってください。
ブランチ名は以下のように issue 番号を含め、分かりやすい名前をつけるようにしてください。


例:

```sh
git switch -c 123_add-test
```

## 3. コードを修正する

### 3-1. 修正後、変更内容を確認する

修正を行った後、以下のコマンドで修正ファイルの一覧を確認します。

```sh
git status
```

さらに、修正内容の差分を確認する場合は次のコマンドを使います。

```sh
git diff
```

### 3-2. 修正をステージングする

修正内容をステージング(インデックスに追加)します。

```sh
git add .
```

### 3-3. ステージング後の確認

再度、ステージング済みファイルを確認します。

```sh
git status
```

ステージング済みの差分を確認したい場合は以下を使います。

```sh
git diff --cached
```

### 3-4. コミットする

コミットメッセージは簡潔かつ内容が分かるように記載してください。

例:

```sh
git commit -m "テストを追加"
```


## 4. プルリクエスト作成前に main ブランチへ rebase する

プルリクエストを作成する前に、最新の main ブランチを取り込み、自分のブランチを rebase します。

### 4-1. main ブランチを最新にする

```sh
git switch main
git pull origin main
```

### 4-2 作業ブランチに戻る

```sh
git switch feature/add-login-page
```

### 4-3. main ブランチの最新履歴を取り込む

```sh
git rebase main
```

もしコンフリクトが発生した場合は、表示される指示に従って解決し、以下で rebase を続行します。

```sh
git add .
git rebase --continue
```

## 5. リモートリポジトリへプッシュする

```sh
git push -u origin 123_add-test
```

## 6. プルリクエストを作成する

GitHub 上で以下の手順でプルリクエスト(PR)を作成してください。

1. GitHub のリポジトリページを開く
2. 「Compare & pull request」ボタンをクリック
3. タイトルと説明を入力
    - どのような変更か
    - 関連する Issue があれば番号を記載(例: closes #123)
4. レビューアを指定(必要であれば)
5. 「Create Pull Request」をクリックして作成


## 7. プルリクエストマージ後、main ブランチへ戻る

プルリクエストのマージが完了したら、作業ブランチから main ブランチへ戻します。

```sh
git switch main
git pull origin main
```

## 注意事項

- main ブランチには直接 push しないでください
- 大きな変更の場合は事前に Issue を立てて相談してください
- レビューコメントが付いたら対応をお願いします

変更履歴

日付 内容
2025/7/12 01 新規作成
2025/7/12 02 pull 操作について追加
リベースの説明追加
マージ後 main に戻る手順を追加

2025年3月26日水曜日

Windows で Gitea を試す

オンプレに Git サーバーを立てる機運だったので、 なるだけ簡単、かつ、Windows サーバーで動くやつとして Gitea を試す。

前提

  • OS: Windows 11 Pro 23H2 ビルド 22631.5039
  • Gitea: 1.23.5

ダウンロード

Gitea Official Website から Windows 版のバイナリをダウンロード。

名前を gitea.exe に変更し、 C:\gitea\gitea.exe に配置する。

初期設定

サーバーを起動し、アクセスする

以下コマンドで gitea サーバーを立ち上げ http://localhost:3000 へアクセスする。 初回アクセス時に初期設定を行うための画面が表示される。

.\gitea.exe web

初期設定入力

今回は以下の通り入力した。下記項目以外はデフォルト。

入力したら Giteaをインストール ボタンを押下。

必須設定

項目
データベースのタイプ SQLite3
パス C:\gitea\data\gitea.db
サイトタイトル Mikoto’s Gitea
リポジトリのルートパス C:\gitea\data\gitea-repositories
Git LFS ルートパス C:\g itea\data\lfs
実行ユーザー名 mikoto
サーバードメイン mnmain
SSHサーバーのポート 8022
Gitea HTTPポート 3000
GiteaのベースURL http://mnmain:3000/
ログの保存先パス C:\gitea\log

オプション設定 - サーバーと外部サービスの設定

項目
OpenIDを使ったサインインを有効にする チェックを外す
ページ閲覧にサインインが必要 チェックを入れる

オプション設定 - 管理者アカウントの設定

項目
管理者ユーザー名 mikoto
メールアドレス mikoto2000@gmail.com
パスワード ひみつ
パスワード確認 ひみつ

しばらくすると、管理者でログインした画面が表示されるが、ベース URL が違うため、改めて http://mnmain:3000 にアクセスしなおす。

HTTPS 設定

証明書の生成

なんと、自己証明書も作れちゃうらしい。

cd c:\gitea
.\gitea.exe cert --host mnmain --ca

設定ファイルの編集

C:\gitea\custom\conf\app.ini に設定ファイルがあるので、これを編集する。

今回編集するのは server セクション。

  • ROOT_URLhttphttps に変更
  • 以下 3 行を追加
    • PROTOCOL = https
    • CERT_FILE = C:\gitea\cert.pem
    • KEY_FILE = C:\gitea\key.pem

設定が完了したらもう一度 .\gitea.exe web を起動して https://mnmain:3000 にアクセス。

警告が出るが無視して進むと https で接続できる。

SSH サーバーの設定

Windows で実行する場合は、 Gitea 組み込みの SSH サーバーを使用するのが無難そうなので、その設定を行う。

組み込み SSH サーバーの有効化

C:\gitea\custom\conf\app.ini を編集する。

編集するのは SERVER セクション。 以下項目を追加する。

  • START_SSH_SERVER = true
    • 組み込み SSH サーバーを起動する

新規登録の禁止化

C:\gitea\custom\conf\app.ini を編集する。

DISABLE_REGISTRATIONtrue にする。

Windows サービス化

サービス化用に設定変更

C:\gitea\custom\conf\app.ini を編集する。

今回は RUN_USERmnmain$ (<コンピューター名>$) に修正。

サービスへの登録

コマンドプロンプト を管理者で開き、以下コマンドを実行。

sc.exe create gitea start= auto binPath= "\"c:\gitea\gitea.exe\" web --config \"c:\gitea\custom\conf\app.ini\""

後は Windows のサービスから 開始 を選択すれば OK.

公開鍵の登録

GitHub と同じで、 SSH 経由の操作は、公開鍵を用いて行われる。

公開鍵の登録方法は以下の通り。

  1. 右上の自分のアイコンをクリック -> 設定 -> SSH / GPG キー を選択
  2. SSHキーの管理キーを追加 ボタンを押下
  3. SSH の公開鍵を入力する

以上。

参考資料

変更履歴

日付 内容
2025/3/26 新規作成
2025/4/20 管理者ユーザーを明示的に追加する手順を追加
組み込み SSH サーバーによる接続について追加

2023年8月20日日曜日

git submodule で管理しているサブモジュールが全部 HEAD detached になったから一括でデフォルトブランチに直す

前提

  • OS: WSL 上の Ubuntu 20.04
  • git: git version 2.25.1

やりかた

対象の git リポジトリで以下コマンドを実行。

git submodule foreach "git switch \$(git symbolic-ref refs/remotes/origin/HEAD | cut -f4 -d'/')"

解説

git symbolic-ref refs/remotes/origin/HEAD で、デフォルトブランチが取得できる。

デフォルトブランチは、 refs/remotes/origin/<DEFAULT_BRANCH_NAME> という形式で出力されるので、 cut コマンドで「‘/’ 区切りの 4 番目の値」を取ってくる。

参照資料