0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

git worktree

Last updated at Posted at 2025-10-30

~/Github/FVCOM/ の FVCOMリポジトリを対象に,worktreeの使い方の備忘録です.v5.1.0-dev がデフォルトブランチで,これをベースに機能追加用の恒久ブランチ uk-fabm/v5.1.0-dev を作成し,localでは./Github/FVCOM/branches/uk-fabm-v5.1.0-devディレクトリをworktreeとして運用します.

cd ~/Github/FVCOM
# 念のため最新情報を取得
git fetch --all --prune

ここで,.gitignore/branches/を追記しておきます.

# ~/Github/FVCOM/.gitignore に追加
/branches/
# v5.1.0-dev を起点に、uk-fabm/v5.1.0-dev ブランチを新規作成しつつ
# worktree を ~/Github/FVCOM/branches/uk-fabm-v5.1.0-dev に作る
git worktree add -b uk-fabm/v5.1.0-dev branches/uk-fabm-v5.1.0-dev v5.1.0-dev

# 確認
git worktree list
# → ルート(=v5.1.0-dev) と branches/uk-fabm-v5.1.0-dev(=uk-fabm/v5.1.0-dev) が並ぶはず

# 以後の作業は新しいワークツリーへ
cd branches/uk-fabm-v5.1.0-dev

# 初回だけ upstream 設定(未作成のリモートブランチを作る)
git push -u origin uk-fabm/v5.1.0-dev

以上で準備は終わりです.

この状態で~/Github/FVCOM/に移動すれば,v5.1.0-devブランチになっています.以下のように確認すると,*が現在のブランチで,+がworktreeのブランチ(ただし,現在のブランチではない)であることを示しています.他のブランチが存在する場合で,worktreeのブランチでなければこれらのマークは付きません.

$ git branch
+ uk-fabm/v5.1.0-dev
* v5.1.0-dev

~/github/FVCOM/branches/uk-fabm-v5.1.0/に移動すれば,uk-fabm/v5.1.0-devブランチになっています.このときは以下のようになり,現在のブランチに*が付いています.このようにディレクトリを移動するだけでブランチが切り替わることになります.git pushすればremoteでは通常のブランチとしての運用になります.

$ git branch
* uk-fabm/v5.1.0-dev
+ v5.1.0-dev

featureブランチを作成

worktreeでfeatureブランチを作成するには通常通りです.

cd ~/Github/FVCOM/branches/uk-fabm-v5.1.0-dev
# feature ブランチ uk-fabm-couplingを作成
git switch -c feature/uk-fabm-coupling
# 作業後にpush.2回目以降はgit pushのみでOK
git push -u origin feature/uk-fabm-coupling

参照用の tag を打つ

v5.1.0-devブランチに my51_base というタグを打っておきます.こうすると,uk-fabm/v5.1.0-dev ブランチに分岐したときのbaseの状態の参照が簡単にできます.

cd ~/Github/FVCOM
git tag my51_base
# 確認します
git tag -l

不要になったら

上で作成したworktreeが不要になったら,削除できます.

cd ~/Github
git worktree remove branches/uk-fabm-v5.1.0-dev

このブランチ自体を削除したいときは通常通りです.

git branch -D uk-fabm/v5.1.0-dev
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?