git-konfig
2022-01-28 22:57:31 gitgitconfigをエクスポート/インポートするツール
個人的には、主に alias を gist に上げたりするのに使っています。
PATH の通っている場所に置くことで、git konfig export
のように使うことができます。
ダウンロード
更新履歴
- 0.2.2 (2022-01-28)
- list コマンドを追加
- 0.1.0 (2021-10-24)
- 新規
使い方
一覧
git konfig list
で system, global, local(, worktree)の内容を一覧表示します。
例
core.autocrlf
input worktree
input local
false global
false system
core.bare
false worktree
false local
スコープによって値が違うものは赤文字で出力されます。
--diff
オプションを指定すると、スコープごとに値が異なる項目のみを出力します。
エクスポート
> git konfig export
alias.adp=add -p
alias.adu=add -u
alias.ci=commit
alias.di=diff
alias.logg=log --graph
alias.st=status
git config --list
相当です。
後述するように、--global
などを指定することもできます。
出力された内容をファイルや gist などに保存しておくのが良いでしょう。
alias 以外
--all
をつけることで、core.xxx や user.xxx も同時にエクスポートできます。
他にも、--section
(-s
) でこれらのセクションを指定できます。
> git konfig export --all
(snip)
> git konfig export -s alias -s user -s core
(snip)
インポート
※予め gitconfig を何らかの方法でバックアップしておくことをおすすめします。
git konfig export
でエクスポートした内容をまとめてインポートできます。
> git konfig export > my.txt
> git konfig import < my.txt
手入力
インポートする内容は標準入力から読み取っているため、1行ずつ手入力することもできます。
> git konfig import
alias.ci=commit
※空行を2つおくと、内容の終端とみなされます。
上の例では alias を設定していますが、別のセクションの設定をすることもできます。
git config --add KEY VALUE
相当です。
alias 専用モード
--alias
をつけると、行頭の alias.
が不要になります。
> git konfig import --alias
ci=commit
削除
= の右辺を空白にすることで、その設定を削除できます。
> git konfig import
alias.ci=commit
alias.ci=
設定ファイルの指定
git config
でも指定できる、4つのオプションがあります。
--system
--global
--local
--worktree
なお、export においては、--system --global --local
がデフォルトの読み込み元です。
(git-konfig がなにかしているということではなく、単純に git config
の挙動)
また、import においては、--local
がデフォルトの書き込み先です。
そのため、特定の設定のみを操作したい場合は、明示的にオプションを指定してください。
インポート内容のコメント
インポート内容の中に含まれるコメントは無視されます。
コメントは、行頭に #
もしくは //
を置いたものです。
コメントはエクスポート時に書き込まれることはないのですが、ユーザーが自由にメモをしておける機能として付加機能として用意しています。
- 📄 Hugo テーマ 6. Render Hook2024-08-16 12:36:24#5 の題材を、今度は Render Hook という機能を使って実装します。
- 📄 pomi2024-08-16 10:26:05ポメラSyncされたメモを操作するツール →後継のソフトウェアpmsyncを使ってください。
- 📄 Goでテーブル駆動のベンチマークをとる方法2024-08-16 10:26:05公式に記載ありますが、まとめてみます。
- 📄 slog-handler-guide2024-08-16 10:26:05slog-handler-guide の解説
- 📄 Popcorn2024-08-16 10:26:05自分がよく使うコマンドを登録して呼び出すための Vim script
- 📄 Ergodox EZ キーボードレイアウト2024-08-16 10:26:05JISレイアウトを参考にした、Ergodox EZ のキーボードレイアウト
- 📄 Go言語でのスタックトレースを簡素化する2024-08-16 10:26:05Go言語のパッケージ: 冗長なスタックトレースを簡素化して出力します。
- 📄 Keychron K15 Pro2024-08-15 21:30:59買ったので雑に感想でも書いてみます。
- 📄 Vim LSP メモ2024-08-15 21:30:59忘れそうな内容をメモ
- 📄 GOEXPERIMENT + Build Constraints2024-08-15 21:30:59例えば GOEXPERIMENT=rangefunc の場合にビルドしたい/したくない場合の書き方