git

master への push を禁止するローカル git hook の正しい書き方

git

GitHub などで Pull Request ベースで開発をしていると、master には間違っても push したくないわけです。 GitHub 側には残念ながら master への push を禁止するような設定はできないので、仕方ないのでクライアント側の Hook で対応しようってことになり…

git pull したときに自動で git stash save と git stash pop をする

git

なんか作業している時に最新版取ってきたいとき、git stash してから git pull してまた git stash pop するのダルいので自動でやる設定。 [rebase] autostash = true 設定の名前見るとわかるけど、rebase の時にも動く。当然 conflict した場合は手動の時と…

Git で変更されたファイルを簡単に無視する設定

git

管理下に置かれてるんだけどなぜか無駄に変更されてしまうファイルというのがたまにあって、まあ管理方法見直せという話もあるんだけど、それも叶わない場合、そういうのは無視したい。 その方法についてはこの記事が詳しいのだけど、私はこれを以下のように…

マージ済みのブランチを消す

git

こんな設定してます。今のところ master 専用。 [alias] sweep-branch = !git branch --delete $(git branch --merged master | grep -v '^*\\| master$')

git reset --hard HEAD を安全にした

git

昨日、git reset --hard HEAD してしまって大変なことになった話を書いた。私は普段これを cancel と言う名前に alias して使っている。 [alias] # 中略 cancel = reset --hard HEAD しかし前回のようなことがまたあってはたまらない。人間はミスするものだ…

git add .; git reset --hard HEAD してしまったファイルのサルベージ

git

% git add . (あ、add じゃなかった。取り消そ) % git reset --hard HEAD (あれ?…ファイルは!?)ってなことが最近あって*1、サルベージ方法を調べたので覚書。 まず git fsck する。*2 % git fsck --full Checking object directories: 100% (256/256), done.…

commit の -C を使ったときに現在時刻でコミットする

git

以前 commit --amend 時にコミットログの入力を省くって記事を書いたんだけど、その時に書いた --date=now って言う元々 man にも載ってない怪しさ満点の指定方法が使えなくなってた。 で、なんとかならんのか、と思ってはたまた何気なく --date= と空を指定…

commit --amend 時にコミットログの入力を省く

git

git commit --amend を使うと、直前のコミットでやり忘れた変更を付け足せるのでとても便利。 でも、多くの場合は変更部分に typo を見つけた場合とかファイルを追加し忘れていた場合などで、コミットログの編集を行うことはほとんどない。でも --amend をす…

git pull とかで落ちてきた部分のコミットを見る

git

git pull とかやって、だーっと落ちてきたけど、今新しく落ちてきたのってどの部分だよ、とか言うときに使う。 git log HEAD@{1}..HEAD --reverse --reverse は好み。下に行くほど新しいコミットになる。 私は以下のようにaliasしてる。単語的に正しいかどう…

Vim から Github Issues が使いたくなったので github.vim を作り始めた

最近 eskk.vim の Issues とかで Github Issues を割と見るようになった。 で、ブラウザいちいち開くのも面倒だし幸い Github には API があるらしいので、github.vim とか言うのを試しに作り始めてみた。 完成度高めるよりとっとと公開してしまおうってこと…

Re:gitのルートディレクトリに移動するスクリプト - みずぴー日記

一発で、.gitのあるディレクトリまで移動するスクリプト。 gitのルートディレクトリに移動するスクリプト - みずぴー日記 私ならこれで済ますかなぁ。 cd $(git rev-parse --show-cdup) エラー処理してないので作業ディレクトリ外で使うとエラーになるけど、…

Re: コミットした変更を元に戻す - yuum3のお仕事日記

git

コミットした変更を元に戻す - yuumi3のお仕事日記 レポジトリーを丸コピー。 コミットした変更を元に戻す - yuumi3のお仕事日記 % git clone % git branch prototype2 prototype1 -- プロトタイプ1からプロトタイプ2のブランチを作成 % git checkout protot…

Gitはファイルの移動を追跡できない

git

Gitのリポジトリ内のオブジェクトについて知っている人ならば知っていると思うが、Gitはリポジトリをコミット間の差分ではなくスナップショットの連続として扱っている。つまり、コミットする前と後で「何をどうした」を記録しているわけではなく、 Before-A…

WebDAVに対してpush/pullする

カテゴリがgitになってますが、予め言っておくとあんまりgit関係ないです。以前GitのHTTP認証に絶望したわけだけど、WebDAVってのは大体認証をかけるわけで、しかも私の場合認証付きHTTP proxyを通らないといけない環境*1にいたりすることもあるわけです。 …

GitM#1に参加してきた

GitM#1に参加してきた。かなり突発的に企画されたせいか、参加人数は控え目だった。けど、逆にそれがいい感じだったかな。 唯一の発表者であるkanaさんのページで発表資料が公開されています。 object周りの話 この辺りは一応知っていた。実際、うまいこと考…

gitのHTTP認証に絶望した!

git

gitはどうしても独自プロトコル+sshを使って欲しいのだろうか。HTTP認証がいい加減すぎる。libcurlでデフォルトでできることしかできない。 認証方式の指定ができない まず、認証方式を指定することが一切できない。BASIC認証なら一応使えるが、それもlibcur…

ここがヘンだよgit

git

最近gitと挌闘していて、まだまだ決着は付きそうにないんですが決着を待ってるといつまでも終わらなそうなので一旦ここで記事にまとめてみようかと思います。*1 基本的なgitの使い方は置いといて、弄っていて気になったgitの仕様について。 書いたとおりまだ…

githubを使ってみた + ku#mruを更新してみた

gitは全然使ったことないけれど、興味はあったので先日作ったku#mruをアップすべく使ってみた。 github自体は、英語!って点を除けば全然問題なさそう。英語勉強しなきゃなー。ソースのコメントやコミットログも英語にすべきだろうし。結構壁高い。 githubで…