この記事はQiitaに投稿されたものの転載です。
なにかちょこっとだけ作業するたびにトピックブランチをつくって終わったら消すということをしている。
git branch <branch-name> [<start-point>]
git checkout <branch-name>
- 作業
- add & commit & push
git checkout <some-branch>
git branch -D <branch-name>
めんどくさくなってきたので専用コマンドを作った。こういうものを書くのは初めてなのでこちらの記事のものを書き換えて作った。
.bashrc
tmpbranch() {
(
d=$(mktemp -d "${TMPDIR:-/tmp}/${1:-$2}.XXXXXXXXXX") && git worktree add $d $1 -b $2 && pushd "$d" || exit 1
"$SHELL"
s=$?
if [[ $s == 0 ]]; then
rm -rf "$d"
popd
git worktree prune
git branch -D $2
else
echo "Directory '$d' still exists." >&2
fi
exit $s
)
}
実行するとブランチが作成され、linked working treeが/tmp
にできて、そこに移動する。exit
するとディレクトリとブランチとworking treeが削除される。これによって作業は以下のようになった。
tmpbranch <branch-name> <start-point>
- 作業
- add & commit & push
exit
いい感じである。もしかしてこんなもの書かなくても別の便利な方法があったりするんだろうか?