タグ

tipsとGitに関するmiya-janのブックマーク (11)

  • Git の diff を美しく表示するために必要なたった 1 つの設定 #git - 詩と創作・思索のひろば

    Git に同梱されている contrib/diff-highlight を使います。 あとは README に書いてあることの引き写しですが、PATH の通ったディレクトリに置いて、~/.gitconfig に以下のように設定を書く。 [pager] log = diff-highlight | less show = diff-highlight | less diff = diff-highlight | less すると、対応するコマンドの出力がこんな風になります。 行レベルの diff に加えて、単語レベルでの diff もハイライトされ、GitHub での diff のように描画されました。 組み込みのオプションで --color-words というのがありますが、こちらを使うと行レベルの diff 情報が失われるので、少し不便だったわけですね。とすべて README に書いてあ

    Git の diff を美しく表示するために必要なたった 1 つの設定 #git - 詩と創作・思索のひろば
  • 天下一gitconfig大会

    天下一gitconfig大会(サイボウズ社内git勉強会@2012/11/20)の@teppeisの資料です。 ぎっとぎとにしてやんよ GistDeck gistでmarkdown書いたらbookmarkletでプレゼンになるよ。 ↓これをBookmarkに登録してこのページで実行してみよー! javascript:(function()%7Bvar%20s%3Ddocument.createElement(%27script%27)%3Bs.setAttribute(%27src%27,%27https://raw.github.com/teppeis/gistdeck/fix/gistdeck.js%27)%3Bdocument.getElementsByTagName(%27head%27)%5B0%5D.appendChild(s)%3B%7D)()%3B 複数行のcodeとかが微

    天下一gitconfig大会
    miya-jan
    miya-jan 2012/11/21
    ぎっとぎと!
  • 図で分かるgit-mergeの--ff, --no-ff, --squashの違い - アジャイルSEを目指すブログ

    git-merge の--ff, --no-ff, --squashの違いをまとめてみた。 git helpから引用 まずは、git helpを読みましょう git merge --helpから引用(抜粋) NAME git-merge - Join two or more development histories together SYNOPSIS git merge [-n] [--stat] [--no-commit] [--squash] [-s <strategy>] [-X <strategy-option>] [--[no-]rerere-autoupdate] [-m <msg>] <commit>... git merge <msg> HEAD <commit>... git merge --abort OPTIONS --ff, --no-ff Do not gene

    図で分かるgit-mergeの--ff, --no-ff, --squashの違い - アジャイルSEを目指すブログ
  • git revert で複数コミットを打ち消す - miauのブログ

    git にはコミットした内容を取り消す方法がいくつかありますが、いったんリリースしたコンテンツの公開期間が終了してその内容を取り下げたいような場合は、git revert でリリース時のコミットを打ち消すコミットを作るのがお作法です。 今回まさにそういう状況になったんですが、リリース時のコミットが複数回にまたがっており、それも 先のエントリ で書いたように他の対応と入り交じってコミットされてしまっています。 こういう場合にどう revert すればいいかという話です。 revert の基的なところ 例えば 3a0e871f というコミットを打ち消したい場合は、 git revert 3a0e871fを実行すれば、 Revert "xxx 対応" This reverts commit 3a0e871ff60411ca89fa07c7f2b4d426fa04285d.のようなメッセージがみ

    git revert で複数コミットを打ち消す - miauのブログ
    miya-jan
    miya-jan 2012/09/28
    git revert コミット番号 で逆マージできる。便利。
  • git commitをやり直しする&取り消しする(「get commit --amend」と「git reset」) - hogehoge foobar Blog Style Beta

    git commitを実行あとでコミットをやり直したり、コミット自体を取り消す方法です。 直前にしたコミットをやり直す(git commit --amend) 直前にしたコミットをやり直す場合、「git commit --amend」を使用します。 例えば、直前のコミットログが以下のような状態だったとします。 実は直前のコミットに含めるべきであった「hoge.txt」が含まれていませんでした。 コミットログ(git commit --amend 実行前) $ git log commit cca638b48b4c8be7ad5432f7882497534b04e2b4 Author: mrgoofy <hogehoge@example.com> Date: Wed Sep 8 23:03:57 2010 +0900 2nd Commit.-> New Add File : bar.txtこ

    git commitをやり直しする&取り消しする(「get commit --amend」と「git reset」) - hogehoge foobar Blog Style Beta
    miya-jan
    miya-jan 2012/08/14
    git reset
  • gitでタグをチェックアウトする。 - kanonji’s diary

    Modernizrが2月20日に1.7をリリースしたようです。まだリリースノートも無いようなので、1.6のも欲しくなりました。Githubからリポジトリをクローンして、1.6のコードを取ろうと思ったら、意外にタグをチェックアウトする方法が分からなかったので調べました。 方法 $ git clone https://github.com/Modernizr/Modernizr.git $ cd Modernizr $ git tag -l v1.1 v1.5 v1.6 v2010.07.06dev まず、前提条件としてModernizrのリポジトリにはこんなタグがあります。 ブランチを作る場合 $ git checkout -b 1.6 refs/tags/v1.6 ブランチを作りつつ、v1.6タグの内容をワーキングツリーにチェックアウトします。ブランチ名とタグ名が被ると、diffが取りにく

    gitでタグをチェックアウトする。 - kanonji’s diary
    miya-jan
    miya-jan 2012/07/20
    ローカルにブランチを作りたくない場合は、refsを使うのがセオリーなのかな。
  • 怠惰にgitを使うためのシェル活用術、またはgst一族 - Qiita

    Git Advent Calendar / Jun. 6/12 担当@T_Hashです。 明日も仕事でだるいのですが、怠惰はプログラマの美徳といいます。というわけで僕が日々の仕事で怠惰にgitを使うための設定を共有したいと思います。 zsh ↓を参考にした設定を.zshrcに記述して、右プロンプトにブランチ名とステータスを表示させています。コマンドを叩かずに状態が見えて非常に便利です。 git のブランチ名 と作業状態 を zsh の右プロンプトに表示+ status に応じて色もつけてみた 緑だとクリーンな状態、赤だと未コミットの変更があります。「緑が正常な状態、緑に戻って来たら一段落してコーヒー飲もう」とか考えながら作業をしてます。 あと、zshはgitのコマンドも補完してくれるので地味に重宝します。 gst: git status git statusは常に叩くクセを付けた方がいいと

    怠惰にgitを使うためのシェル活用術、またはgst一族 - Qiita
  • git reset についてもまとめてみる - murankの日記

    前回 git diff を図に書いてみたところ、自分の中で意外と整理できたので、これまたなんとなく使っていた git reset についてもまとめてみた。 とりあえず結論を先にまとめよう。 git reset とは? HEAD の位置を変更するコマンド。 オプションによってインデックス、ワーキングツリーの内容も変更できる。 git reset のオプションは? --soft、--mixed(オプションなしと同等)、--hard オプションがあり、影響度の小さい順に以下のようになる。 --soft HEAD の位置のみを変更する。インデックス、ワーキングツリーには影響なし。 --mixed (またはオプションなし) HEAD の位置とインデックスを変更する。ワーキングツリーには影響なし。 --hard HEADの位置、インデックス、ワーキングツリーをすべて変更する。 さて、git reset

    git reset についてもまとめてみる - murankの日記
    miya-jan
    miya-jan 2012/05/25
    git resetの分かりやすいまとめ
  • git submodule - みずぴー日記

    http://d.hatena.ne.jp/woremacx/20080308/1204986198のように、gitで外部レポジトリを扱えるようにする方法。 外部レポジトリの追加 git submodule addすると、外部レポジトリをサブモジュールとして取り込めるようになります。 # cloneする $ git clone git://example.com/repos/private/ $ cd private # git://example.com/repos/external/を追加する $ git submodule add git://example.com/repos/external/ # commitしておく $ git commit -m "Add submodule" $ git push 外部レポジトリ内での作業 外部レポジトリで作業したときは、そこでコミットする

    git submodule - みずぴー日記
    miya-jan
    miya-jan 2012/05/24
    「外部レポジトリで作業したときは、そこでコミットするほかに、上位の自分のレポジトリでもコミットしておく必要がある。自分のレポジトリと外部レポジトリのリビジョンの対応関係を覚えておくため」
  • gitでマージとかdiffとかコミットまとめてpushするとか - ikeike443のブログ

    今までもgithubにpushするためだけにgitは使ってたんだけど、最近他人と共同作業するようになって、真面目にgitを学び始めた。 とりあえず今日わかったこと。 困ったら git reflog しろ! ということで終わりなんだけど、一応以下にメモ的に書いておく。 ツッコミ大歓迎というか、いろいろ教えて欲しいのでむしろツッコンでください。。 自分の作業はこまめにcommitしたいけど、共同リポジトリには意味のある単位でpushしたい こんな風にやればいいのかなという感触を持った。 作業ブランチ(branch1)を作る。 $ git branch branch1 ブランチを切り替える $ git checkout branch1 で、作業ブランチでいろいろ作業してコミットを積み重ねた後、 master に切り替える $ git checkout master 作業ブランチの変更をマージする

    gitでマージとかdiffとかコミットまとめてpushするとか - ikeike443のブログ
    miya-jan
    miya-jan 2012/05/24
    git merge --squashが便利そう。
  • A successful Git branching model を翻訳しました

    Vincent Driessenさんの "A successful Git branching model" を翻訳しました。 元記事はこちら: http://nvie.com/posts/a-successful-git-branching-model/ (翻訳の公開と画像の利用は人より許諾済みです) このブランチモデルの導入を補助してくれる、git-flowというGit用プラグインがあるそうです。 翻訳の間違い等があれば遠慮なくご指摘ください。 A successful Git branching model この記事では、私のいくつかのプロジェクト仕事でもプライベートでも)で約一年ほど導入して、とてもうまくいくことがわかった開発モデルを紹介する。しばらく前からこれについて書くつもりだったんだが、今まですっかりその時間を見つけられずにいた。ここでは私のプロジェクトの詳細については書

    A successful Git branching model を翻訳しました
  • 1