gitで特定部分のところだけコミットしない方法

githubに公開するときにシークレットなKeyは公開したくない

別ファイルに分けてaddしないようにするとか方法あるけど、じゃあJSでは?とかいろいろ面倒になってきた

それgit add -p でできるよ

なにそれすごい

試してみた

mkdir hoge
cd hoge
touch file
vi file
#まずは見せる用に作成する
cat file
#token = "your key"
git init
git commit -m 'init'
#実際に使う用に作成する
vi file
token = "real secret key"
# e で対話的にエディタで管理できるので編集する
git add -p file
#最初はこうなっている。diffですね
- token = "your key"
+ token = "real secret key"
#以下のように編集する
  token = "your key"
(削除)

s でファイルごとスキップとか y n でファイルを選択したりもできる。

git力が上がった

ステージングだとかhunkだとかワーキングディレクトリだとか、まあ少しだけ理解が深まったかもしれない。
まあmergeもrebaseもしたことがないくらいなんだけどな!!!!

参考

とても参考になりました
git add -p のときの e(手動編集) - 肉とご飯と甘いもの @ sotarok

  • 削除行 (-) を add しないなら、- をスペースにかえてください
  • 追加行 (+) を add しないなら、その行を削除してください
  • add したくない行は先頭に # って書いてください