タグ

ブックマーク / thinca.hatenablog.com (3)

  • master への push を禁止するローカル git hook の正しい書き方 - 永遠に未完成

    GitHub などで Pull Request ベースで開発をしていると、master には間違っても push したくないわけです。 GitHub 側には残念ながら master への push を禁止するような設定はできないので、仕方ないのでクライアント側の Hook で対応しようってことになり、この方法についてググるとこことかこことか、いくつか方法を紹介しているページが出てくるんですが、どれもやり方が間違っている*1ので、正しい方法を紹介。 何がまずいのか 上記に挙げた方法では、細かい部分は違ってたりするけど、git symbolic-ref HEAD を使って現在ブランチを見て、master だったら push を禁止する、という方法を取っている。 しかし、push はカレントブランチから行われるとは限らない。dev ブランチにいるときに git push origin maste

    master への push を禁止するローカル git hook の正しい書き方 - 永遠に未完成
  • vimrc基礎文法最速マスター - 永遠に未完成

    調子に乗って vimrc を書くのに特化した内容のものを書いてみる。取り上げた内容は完全に独断と偏見です。 関連記事: Vimスクリプト基礎文法最速マスター - 永遠に未完成 この記事では vimrc を書くにあたって知っておくべき概念や機能を解説します。Vim 自体の操作方法に関しては触れません。 基礎 バッファ バッファは、ファイルを編集するための論理的な領域です。Vim で新しくファイルを開くと、新しいバッファが作成されてそこにファイルの内容が読み込まれます。 ウィンドウ ウィンドウはバッファを画面に表示するための物理的な領域です。分割することができ、1つの画面に複数のウィンドウを表示できます。 タブページ タブページを使うことでウィンドウの配置を保持したまま複数の画面を切り替えることができます。 タブ文字と区別するためか、タブページと呼ばれています。 モード Vim の中でも知って

    vimrc基礎文法最速マスター - 永遠に未完成
  • Subversionで特定のディレクトリ以下の更新を無視する方法 - 永遠に未完成

    Subversion はリポジトリの一部をチェックアウトできる。ブランチやタグをコピーで実現する以上必須の機能で、昨今の分散型には見られない便利な特徴でもある。 それはそれとして、逆のことをしたいと思ったことはないだろうか。つまり、作業ディレクトリの特定のディレクトリ以下を無視したい。 追加や状態確認時に無視するのなら svn:ignore を使えばいい。そうではなくて、リポジトリには存在するけど個人的に用がなくてそこは見たくない場合。巨大なファイルがあったり、用もないのに頻繁に更新される場所は無視したいだろう。 そのやり方を紹介。 無視する TortoiseSVN 無視したいディレクトリを右クリックして、TortoiseSVN → 特定のリビジョンへ更新(U) ... → 「更新の深さ」で「除外」を指定して OK svn $ svn update --set-depth exclude

    Subversionで特定のディレクトリ以下の更新を無視する方法 - 永遠に未完成
  • 1