うっかりソースコードをGitHubに公開しないようにする
皆さんはついうっかり公開してはいけないソースコードをGitHubに公開したことはあるだろうか?
例えば低い給与に不満があり一発かましてやりたかったときや残業続きで全部ぶっ壊れないかなと思ったときに,うっかりアップロードしてしまう.もしくはGitHubが年収を占うサイトだと思って血液型や誕生日を入力するノリでソースコードをアップロードしてしまう.そんなことはないだろうか?[1]
そんなうっかりさんが世の中にいるとは思わないが,もしかしたらいるかもしれないのでpushInsteadOf
を紹介したい.
pushInsteadOf
はgit push
するときのpush先を書き換える.例えばGitHubはリポジトリにsshでもhttpsでも利用できるので,pullはhttps,pushはsshというように使い分けたいことがあるだろう.そんなときには~/.gitconfig
にこんな風に書いておこう.
[url "git@github.com:"]
pushInsteadOf = "https://github.com/"
こうするとpush先がhttps://github.com/
から始まるときに,その部分をgit@github.com:
で置き換えてくれる.
仮にpsuh先がhttps://github.com/github/docs.git
だったとしよう.そうするとこのURLはhttps://github.com/
から始まるので,この部分がgit@github.com:
に置き換えられる.置き換え後のURLはgit@github.com:github/docs.git
だ.これはGitHubのsshのURLと同じなので,sshでGitHubにpushされることになる.
この機能は誤push防止にも使える.例えばこんな風に設定してみよう.
[url "http://localhost/"]
pushInsteadOf = "git@github.com:"
pushInsteadOf = "https://github.com/"
pushInsteadOf
は複数書いてもいい.こうするとpush先がgit@github.com:
かhttps://github.com/
で始まる場合にhttp://localhost/
に置き換えてくれる.github.com
にログインして作業しているわけでなければGitHubにはpushされなくなる.localhostでは心配なら/dev/null/
でもいい.
これで低賃金や過重労働を嘆いたり「GitHub?知らないサイトだな」と思いながらgit push
しても安心だ.
-
ない. ↩︎
Discussion