Git
heroku みたいな git push で自動デプロイする方法として、よく post-recceive フックで git pull する方法が載っているけど、 自分の場合、それがうまくいかなかったことがあったのでメモ。 よくある post-receive フックの内容は以下の通り。 #!/bin/sh ( …
Gitlab で作ったプロジェクトでフックを使おうとしたら結構苦労したのでメモ。 以下のディレクトリ構成は Gitlab のインストール手順に従った場合のものなので、Gitolite を手動インストールしたような場合は適宜読み替えを。 まず、Gitolite の機能として、…
最近ようやく git bisectの使い方を学んだ。 ただ、git bisectを使っていて少し躓いたのが、コミットをckeckoutする順番によってはbadコミットの1つ手前でbisectが完了することだ。 具体的には、 A(good) → B(good) → X(bad) → Y(bad) → Z(bad)という履歴の…
変更をコミットする時に、大抵の人は git diff --cached なんかを使ってコミット内容を確認してからコミットすると思う*1。 ただ、この「コミット前に git diff --cached」作戦は、少なくとも commit --amend の時 squash する時 にはうまく適用できない*2。…
TiDD(チケット駆動開発)するにあたって、id:bleis-tiftが非常に便利なフックスクリプトを作ってくれている。 詳しくは Git+Redmineな人におすすめのフックスクリプト集 - みずぴー日記 が分りやすい。 ただ、トピックブランチ名のルール (id/*) や、追加され…
ファイルの変更を取り消そうと思って $ git reset --hard fileとしたら fatal: Cannot do hard reset with paths.と怒られた。 $ git reset --hard HEAD fileとか $ git reset --hard HEAD -- fileとか試してもやっぱり怒られる。 じゃあどうすればファイル…
前回 git diff を図に書いてみたところ、自分の中で意外と整理できたので、これまたなんとなく使っていた git reset についてもまとめてみた。 とりあえず結論を先にまとめよう。 git reset とは? HEAD の位置を変更するコマンド。 オプションによってイン…
いままでなんとなく使ってきたけど、ようやく使い方が分かったような気がするのでメモ。 前提知識 インデックスとワーキングツリーが理解できていること HEAD が何か分かっていること git diff ワーキングツリーとインデックスの差分を表示。 git add した後…
そろそろバージョン管理ツールのひとつやふたつ、使えるようになっておくと便利だろうというわけで、流行りのGitに手を出してみた。なんでも、Git Extensions を使うと Visual Studio と連携できるらしい。が、インストールしても Visual Studio には何も変…