Open3

gitignore テンプレートのセットアップコマンド

now4estnow4est

.gitignore のテンプレートを使う

理由

特に、他のメンバーとコードを共有する場合、.gitignoreファイルは必須である。他のメンバーからすれば、他人の環境依存のファイルは不要なゴミファイルである。.gitignore のテンプレートを使えば当該環境の仕様について詳しく理解していなくても、意図しないゴミファイルがリポジトリに混入するリスクを減らすことができる。

経緯

当初は gitignore.io を利用していたが、ドメインが変更された際に運営元やセキュリティに関して特に意識していなかったことに気づき、利用を中止した。その後は GitHub の gitignore リポジトリである https://github.com/github/gitignore を直接利用し、適当に curl コマンドを使ったり、Webブラウザにてテンプレートをコピペしたりしていた。

最近は様々なプロジェクトに参加することが増えたので、セットアップの迅速化および統一化のため、コマンドを整理した。

now4estnow4est

雑に生成するパターン

  • 例は global の gitignore 用
  • 対象環境の例は適当 {macOS,Windows,Linux,Vim,VisualStudioCode}
  • 取得間隔 1 秒 -w 1
  • zsh で実行
  • 単純に連結したファイルが作られる
wget -O ignore -w 1 -- https://raw.githubusercontent.com/github/gitignore/main/Global/{macOS,Windows,Linux,Vim,VisualStudioCode}.gitignore
now4estnow4est

() {
  local file='ignore'
  printf '# Created: %s\n' "$(date --iso-8601=second)" >> $file
  for a in "${@}"; do
    local url="https://raw.githubusercontent.com/github/gitignore/main/Global/${a}.gitignore"
    printf '\n# %s\n\n' "${url}" >> $file
    wget -O - -- "${url}" >> $file
    sleep 1
  done
} {macOS,Windows,Linux,Vim,VisualStudioCode}