Date 2023-03-12

Workspace リポジトリ

※ この記事を書いてから1年以上経ってるかも

  tech ,  git

ワークスペース的なリポジトリを1個作って使ってるけど、 これがなにかと便利なのでざっくり紹介。

わりとみんなも似たことやってそうだけど。

用途

  • 書き捨てスクリプトやコードスニペット
  • プロトタイプのプロトタイプみたいなテストコード
  • チュートリアルやサンプルコードの写経、

みたいなやつを突っ込んでおくやつ。

自分専用の、コードスニペット用のリモートストレージみたいな運用に近い。

  • git なので複数端末で共有できる
  • 「似たようなの前に書いたな……」みたいなやつを grep で検索できる
    • これがけっこう助かる
    • ちゃんとブログやgit repoにまとめてる人はメリットなさそう
  • github / gitlab の issue でメモや進捗管理もできる
    • チュートリアルのメモとかに地味に便利
    • でもあんまり使ってない

今までローカルで書いて放置してたようなスクリプトの保管場所を用意する、 というだけでも地味に便利。

ディレクトリ構成

なんでもいい。

一例として、ぼくは以下の2つのディレクトリを作成してる。

  • d ... docs
  • w ... workspace

1文字なのはタイピングが面倒だから。 自分しか触らないので雑でいい。

d (docs)

d にはマークダウンファイルのメモや雑記を入れてる。 たぶん公開されないままになるブログネタのメモや、ちょっとした勉強メモなど。

ただ、最近メモまわりは obisidian に移行しつつあって、使わなくなってきた。

w (workspace)

w にはコードまわりを入れてる。

w の下に適当にディレクトリを切って、適当にコードを保管しておく。

ぼくは言語やFW、ソフトウェア名で区切ることが多い。

w
|- docker
|- python
|   |- dcmpwatch.py
|- ruby
|   |- self-cert.rb
|   |- bunpo.rb
|- sh
    |- sumdate.sh

みたいな感じ。

雑にディレクトリを切って、雑に突っ込んである。

ルール

雑に使いたいので雑に使うためのルールを決めた。

  • ブランチは切らない
  • コミットメッセージは雑でいい
  • 中途半端な状態でもコミットしていい

雑に使うので守る必要はないけど、 意識して雑に使うと雑に使い続けやすい気がする。

ブランチは切らない

main ブランチだけ。

1個前のコミットと全く別の作業をしてても構わずコミットしていく。

最初は作業毎にブランチ切ってたけど、

  • どこまでやるか決めてない作業が多いので wip ブランチが増える
  • wip ブランチのまま放置されがち
  • 「いつか書いた気がするけど grep で出ないな」「あ、マージしてないや」がわりと発生する

というような怠い状況になったのでやめた。

どうせ履歴として使うことはほぼないし、ガシガシ文脈無視してコミットしてる。

コミットメッセージは雑でいい

雑というか、基本書かない。

でもいちいち --allow-empty-message つけるの面倒だから、 u (update) や d (delete) みたいな感じで1文字メッセージを付けることが多い。 あとは wip とか。

どうせ履歴として使うことはほぼないから何でもいい。

中途半端な状態でもコミットしていい

動かない状態のスクリプトとかでも気にせずコミットしてる。 動かない状態であれば、その旨をコメントしておく。

将来の自分は分かってくれるハズ。

作業Aの中途半端な状態のスクリプトをコミットした後に、 作業Bの中途半端な状態のスクリプトをコミットする。

みたいなこともしょっちゅう。

おわり

といった感じ。

最近は何か書き始めるときはこのリポジトリ内で作業を始めることが多い。

で、ある程度形になりそうなら別リポジトリに分割してく。

この場合、それまでの作業履歴が消えちゃうけど、 趣味コードとかだと実際に困ることはあんまないのでヨシ。