gitで削除したリモートブランチが手元では残ったとき

とある開発で、gitのリモートブランチ確認したら

$ git branch -a

* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/change-db-seed
  remotes/origin/change-db-seed-activerecord
  remotes/origin/change-header-login-link
  remotes/origin/change-sidebar-cart
  remotes/origin/change-top-image
  remotes/origin/change_ruby_version
  remotes/origin/dev
  remotes/origin/hide-unused-menu
  remotes/origin/install_paypal
  remotes/origin/master
  remotes/origin/set-google-analytics
  remotes/origin/upload-image-to-amazaon-s3
  remotes/origin/webmastertool

とたくさん出てきた
ブラウザでリポジトリ見てみるとそんなにない
ブラウザでブランチ消したりしても、自動で手元も消してくれないわけで

$ git fetch origin –prune
(originは環境に合わせて)

From sample.com:sample/sample
 x [deleted]         (none)     -> origin/change-db-seed
 x [deleted]         (none)     -> origin/change-db-seed-activerecord
 x [deleted]         (none)     -> origin/change-header-login-link
 x [deleted]         (none)     -> origin/change-sidebar-cart
 x [deleted]         (none)     -> origin/change-top-image
 x [deleted]         (none)     -> origin/change_ruby_version
 x [deleted]         (none)     -> origin/dev
 x [deleted]         (none)     -> origin/hide-unused-menu
 x [deleted]         (none)     -> origin/install_paypal
 x [deleted]         (none)     -> origin/set-google-analytics
 x [deleted]         (none)     -> origin/webmastertool

と消されたリモートブランチが手元で表示されなくて、すっきりしました

pruneは〔不要なもの・余分なものを〕取り除く、削るという意味があるようです
参照: pruneの意味・用例|英辞郎 on the WEB:アルク

git pushのときにsshの鍵を指定する

git pushをするとデフォルトのssh鍵が使われますが、明示的に変えたい場合..

bitbucketはbitbucket用の鍵を登録してる、とかいう場合には

$ git remote -v
origin git@bitbucket.org:sample/sample.git (fetch)
origin git@bitbucket.org:sample/sample.git (push)

となっていれば、bitbucket.orgを~/.ssh/configに指定してあげるといいです

$ vim ~/.ssh/config

Host bitbucket.org
  Hostname bitbucket.org
  User git 
  IdentityFile ~/.ssh/bitbucket

と追記(鍵が~/.ssh/bitbucketだとした場合)

これで

$ git push origin master

とgit pushできるようになりました

vim-gitgutterを使っていて大量の変更を保存するとエラー

vimでgitの差分を左端にわかりやすく出してくれるvim-gitgutterで

git-gutter

大量の行数を変更して保存しようとするとエラーが

vim-gitgutter: exceeded maximum number of signs (configured by g:gitgutter_max_signs). 

次の

let g:gitgutter_max_signs = 500

としたら保存できるようになりました

airblade/vim-gitgutter
を見ないとですね

gitignoreへ指定しているファイルをgit管理へ含める

git管理していて.gitignoreに指定すると、git管理下から外せますがそれでも1回だけ管理下へ入れたいときには

$ git add -f (入れたいファイル)

とすれば、管理下へ入ります
database設定ファイルのテンプレートをあげた時に使いました