git

lefthookでgit hooksのタイミングでlintを行う

git

ざっとlint系を揃えたので、pre-commit のタイミングでlintをかけるようにしてみます。 ・standardとsnazzyでjsのlint結果をeslint風にする ・stylelintでscssのlintを行う ・haml-lintでrubocopのlintをviewに対しても実行する どのライブラリを使うか 選択…

giboで.gitignoreを作成する

git

simonwhitaker/gibo: A shell script for easily accessing gitignore boilerplates のご紹介。 見慣れない言語で.gitignoreを作成する際には github/gitignore: A collection of useful .gitignore templates を参考に作っていましたが このgithub/gitignor…

WEB+DB PRESS Vol.90 Git実践活用

電子書籍で購入するようになってから、読まずに溜め込んでしまっていました。 これは勿体無いので、じわじわ読んでいくことにします。 特集1[もう困らない!]Git実践活用 全体的によくまとまっていて、一通り網羅されている印象。 新人の手元に置いておい…

ERBをHamlに置換する

手元のアプリでなんとなくERBを使っていたのですが、 Haml使いたくなったので、置換してみました。 dhl/erb2haml: Simple script to bulk covert ERB files in a Rails app to Haml 使い方 Gemfileに突っ込んでbundleすれば、以下のrakeタスクが実行できるよ…

Pro Git を読みました

Git - Book 読み終えたメモを残そうとしたら、 私が読んでいたのは第1版で、2014年に第2版が出たことを先ほど知って 少しショックを受けています。 Git2.0対応しているらしいですが、まぁ基本そこまで違いはないはずなので 初めて知った点などをメモしておき…

Gitコミットメッセージの7大原則

git

タイトルは大げさです。割と当たり前の話です。 ハードディスクの整理中にRailscastsのメモが出てきまして 懐かしいなぁ、 Ryan Bates(@rbates)さん 元気かなぁと Twitterを覗いてみたところ How to write a Git commit message: http://t.co/D31dVh1lks— Ry…

gitのコミットログを#で始める方法

git

git commit -m '#foobar' なら問題ないですが、editor開いて複数行コミットログを書きたい場合どうすればよいかというと git commit --cleanup=whitespace で不要な#を削除すればok。 git 2.0.4 manより抜粋 --cleanup=<mode> This option determines how the supp</mode>…

gitでとあるコミットがどのバージョンで入ったかを確認する方法

git

あるrugygemsについて一緒に仕事してる人に 「ドキュメントにある〇〇ってメソッドが使えないんですけど 使い方間違ってますかね?」と質問された。 使い方はよさそうなので githubで現在利用中のバージョンのソースを確認してみると まだその修正が入ってい…

gitプロトコルを強制的にhttpsに変更する

git

会社でbundle installやgit cloneしたときに git clone git://github.com/creationix/nvm.git ~/nvm Initialized empty Git repository in /home/xxxx/nvm/.git/ github.com[0: 207.97.227.239]: errno=Connection timed out fatal: unable to connect a soc…

git commitのメッセージにredmineのticket noを必須とする方法

no ticket, no commit. Redmineをherokuにデプロイする - うんたらかんたら日記 今使っているredmineはherokuにデプロイしているので リポジトリ連携はできていませんが、後からredmineのticketを辿れると嬉しいかなと思って commit logに ticket no を必須…

git-flow結構いいんじゃないだろうか

git

ここをそのまま試してみた。 git-flow によるブランチの管理 - O'Reilly Japan Community Blog mergeする際に、branchの移動が面倒だと感じることがあったので このブランチ自動作成/削除は、楽チンでよさそう。

forkしたプロジェクトを最新にする方法

railsに限らずですが、forkしたプロジェクトを最新にしてからpull request投げたいですよね。 下記のように、rails/rails.gitからpullすればいいのかと思っていましたが $ git pull git@github.com:rails/rails.git master 以下にguidelineがありました。 Ru…

git diffをカラー表示

git

git config --global color.ui true Pro Git - Pro Git 7.1 Git のカスタマイズ Git の設定 コマンド単位でも指定できるようです。 斜め読みですが、p4mergeとの連携も悪くなさそう。 git diff --color-words単語単位での差分表示はこっちの方が見やすい場合…

githubのコミットログを変更する

ローカルのログを書換えて、push -f するだけ。 また忘れるのでメモ。 how to # ローカル書き換え git filter-branch --commit-filter ' GIT_AUTHOR_NAME="rochefort" GIT_COMMITTER_NAME="rochefort" git commit-tree "$@" ' HEAD # githubに反映 git push …

git log

git

最近のお気に入り。 git log --graph --date=short --pretty="%x09%Cgreen%h %Creset%cd %Cblue%cn%x09%Creset%s%Cred%d" graphと最後の%dがおすすめ。 補足 なんかceontosで試したら --pretty=format: と書かないとダメだった。 あと--date=shortが有効にな…

git submoduleの更新

git

2017.8.31 追記 この記事は間違っています。正しくは下記でした。 git submoduleの更新方法を勘違いしていた 昔書いた記事を参考にしてくださった方がいて、 でも「git submodule updateで更新できないよ」と。 gitのsubmoduleだけを最新版にしたい場合のコ…

gitの補完が便利

git

ウノウラボ Unoh Labs: git-svn駆け込み寺 ブランチ名などを補完してくれます。 これは便利そうなので早速やってみました。 homebrewで入れたgitにもありました。 $ locate git-completion.bash /usr/local/etc/bash_completion.d/git-completion.bash bashr…

vimプラグインをgitのsubmoduleで管理

2011/07/06追記 今はsubmoduleでなく、vundleを使ってます。 vundleでvimのプラグインを管理 - うんたらかんたら日記 git submodule 参考 git 1.6.0.2 submoduleを使おう!その1:add, status - satoko's blog - s21g git 1.6.0.2 submoduleを使おう!その2 …

username.github.comページの作り方

git

モダンな Perl5 開発環境について - Modern Perl5 Development Environment - 2010年代を生きのびる Perl5 活用術 のスライドがとっても良かったと思ったんだけど url見たら、tokuhirom.github.com となっていた。 ほう、こういう使い方ができるのかと調べて…

git.vimが便利な件

vim使いながら、!gitコマンドたたくのやだなと思ったので gitプラグインを探してら、すごくいいのに出会いました。motemen's git-vim at master - GitHub #README.rdoc == Commands [:GitAdd ] git-add or current file if not specified. [:GitCommit ] git…

git on rails

Railscasts - Git on Rails 知らんかった。こうすればよかったんか。 touch tmp/.gitignore log/.gitignoreってやって空ファイルを作成しておいた上で root下の.gitignoreに下記のように書いておけばok。 # .gitignore .DS_Store log/*.log tmp/**/* config/…