タグ

Gitに関するriocamposのブックマーク (30)

  • git diff の使い方がほんの少し理解できた - murankの日記

    いままでなんとなく使ってきたけど、ようやく使い方が分かったような気がするのでメモ。 前提知識 インデックスとワーキングツリーが理解できていること HEAD が何か分かっていること git diff ワーキングツリーとインデックスの差分を表示。 git add した後にさらに修正したけど、そういえばどの時点で git add したのかなー、というときに使う? git add したらすぐにコミットする自分には関係なさそう。 git diff --cached HEAD とインデックスの差分を表示。 git add して、コミットする前に差分を確認したい時に使うんだと思う。 自分は git diff よりもこっちの方をよく使う。 git diff HEAD HEAD とワーキングツリーの差分を表示。 前にコミットした時からどれくらい編集したか確認したい時に使う。 HEAD の部分はコミット(HE

    git diff の使い方がほんの少し理解できた - murankの日記
    riocampos
    riocampos 2015/12/03
    git diff --cachedとかgit diff HEAD^..HEADとかを使えるようになりたい
  • Milkode - 行指向のソースコード検索エンジン

    行指向のソースコード検索エンジンと検索アプリです。 数万オーダーのファイルから、目的のキーワードを含む1行を瞬時に検索することが可能です。 特徴 数万オーダーのソースコードを素早く検索 行指向の検索ルーチン 簡単インストール gitライクなコマンドラインインターフェース コマンドラインから検索 便利なwebアプリ さらに詳しく

    riocampos
    riocampos 2015/02/01
    gitっぽい管理コマンド。ビュワーはブラウザでカラーリングあり。検索エンジンはGroonga。grep的な行指向の検索ルーチン。
  • Gitで特定のコミットを指定する108の方法 | Webシステム開発/教育ソリューションのタイムインターメディア

    Git を使用していると特定のコミットを指定したいことが多々あります。 例えば: コミットされる内容を確認したり(git diff)、コミットされた内容を確認したり(git show)、pull request された内容を確認したり(git log -p)、アレやコレを元に戻したり(git reset 等)コミットの順序を入れ替えたり(git rebase -i 等)1つのコミットを複数のコミットに分割したり(git rebase -i 等) 等々です。 この時、一番確実なのは git log でコミットのIDを調べて、そのIDで指定することです。 ただ、これは確実ではあるものの、40文字もの英数字の羅列をコピーするのは面倒です。 どうにかして簡単に指定できないものでしょうか。 現在のブランチの最新のコミットを指定する HEAD で指定できます。 これ単品だと面白くありませんが、他の記法

    Gitで特定のコミットを指定する108の方法 | Webシステム開発/教育ソリューションのタイムインターメディア
    riocampos
    riocampos 2014/09/01
    HEAD~2とHEAD^2の違いについての説明が分かりやすい。基本的には~を使った方がいいですね。
  • gitでアレを元に戻す108の方法 | Webシステム開発/教育ソリューションのタイムインターメディア

    以前gitで一度行った変更をなかったことにする方法4つを紹介しましたが、 日常的に git を使用していると他にも様々な 「なかったことにしたい」「元に戻したい」 という状況に遭遇します。 そのひとつひとつについて対処方法を紹介していきます。 目次 問題1: ライブラリの新機能を試すためにあれこれ適当なコードを書いてみた。でももう要らない。問題2: トピックブランチをマージしたけど実はまだ不完全だった。マージをやり直したい。問題3: リリース後に発覚したバグ。原因は30日前に自分が行ったコミットだった。なかったことにしたい。問題4: 新しいコミットしようとして間違えてgit commit –amendで書き換えてしまった。元に戻したい。問題5: 色々作業していたら作業ディレクトリの内容が混沌としてきた。一度綺麗な状態にしたい。問題6: 作業ディレクトリにゴミファイルが溜まってきた。一度綺麗

    gitでアレを元に戻す108の方法 | Webシステム開発/教育ソリューションのタイムインターメディア
    riocampos
    riocampos 2014/09/01
    良くまとまってます感謝
  • 図解 Git

    もし図の表示がおかしかったら、このページの SVGでないバージョンを試して下さい。 SVG の画像処理を中止しています。 (SVG の画像処理を再開) このページのオリジナルは、Mark Lodato さんが執筆した A Visual Git Referenceです。 このページでは、よく使われる git のコマンドを簡潔に図を用いて説明します。 git について少し知識があるなら、このページはその知識を整理するのに役立つかもしれません。このページがどのようにして作られたのか興味があるなら、私のGitHub リポジトリを見て下さい。(日語訳の GitHub リポジトリ) 内容 基的な使い方 凡例 コマンドの詳細 Diff Commit Checkout 分離HEADでの commit Reset Merge Cherry Pick Rebase 技術メモ 基的な使い方 上記4つのコマ

    riocampos
    riocampos 2014/08/21
    非常に明快に図示されているので分かりやすい。
  • GitX-dev by rowanj

    Fork of Pieter's nice git GUI for OS X. By developers, for developers. View the Project on GitHub rowanj/gitx Download Package View On GitHub GitX-dev is a fork (variant) of GitX, a long-defunct GUI for the git version-control system. It has been maintained and enhanced with productivity and friendliness oriented changes, with effort focused on making a first-class, maintainable tool for today's a

    riocampos
    riocampos 2014/08/06
    これは使いやすそうだ。GUIクライアント使ってなかったけど試してみようか。
  • git で過去コミットを修正する

    Git でバージョン・コントロールをしていて、時々、古いコミットで入れてしまったバグを見つけることがある。その解決方法。 エントリーの内容は、Git ユーザマニュアル (バージョン 1.5.3 以降用) のほとんどコピーと言っていい。このマニュアル大き過ぎる。すぐにバグ修正したい時に、肝心の部分へ辿りつくのが大変。なので、自分用のエントリーにしてみる次第。 下調べ バグのあるコミットは、どこかの集中リポジトリーに git push されていないこと。もし、git push されていると、整合性が取れなくなるので、この作業はしないこと。その場合は、素直にリポジトリーのヘッドにバグ修正のコミットを追加する。 前提 バグは、トピック・ブランチ new-feature の中で入れたこととする。 バグを入れたコミットのハッシュ値は 123456789... とする。 ハッシュ値は gitk もしく

    riocampos
    riocampos 2014/07/26
    ①バグを入れたブランチを確認②バグ入れコミットにタグ付け③タグにチェックアウト④バグ削除⑤git-add/commit --amend⑥git-rebase
  • git使ってて便利だった拡張3つ。 - from scratch

    gitを今の開発でガッツリ使うようになってすげー便利だと思った拡張を3つ紹介します。 もうね、これらなしではgit使えない。せっかくなので、導入方法と一緒に簡単な使い方も紹介します。 git-completion gitの補完ツール。 コマンドラインに現在のブランチ名が出る。だけじゃなくて、タブで補完までしてくれる。 導入方法 以下の方法でスクリプトをダウンロードしてきます。 $ mkdir -p /usr/local/git/contrib/completion/; cd /usr/local/git/contrib/completion/ $ curl https://raw.github.com/git/git/master/contrib/completion/git-completion.bash > git-completion.bash $ curl https://raw.

    git使ってて便利だった拡張3つ。 - from scratch
    riocampos
    riocampos 2014/06/22
    プロンプトにブランチが見えるのは少し便利。tigスゴイ便利。
  • git, git-flowの補完とプロンプトにブランチ名を表示する - yutaponのブログ

    JS界隈じゃないけどTips的な記事を。 今どきGitを使わないで開発することはないと思うので、 開発しやすいように補完を入れましょう。 それとgit-flowなど、たくさんのブランチを切り替えて開発するときに 便利なのでプロンプトにブランチ名を表示しましょう。 はじめに MacOSXユーザ向けの記事です。 Homebrewを使っている前提です。 gitを入れる もう既にインストール済みなら読み飛ばしてください。 gitはhomebrewでさくっと入れましょう。 $ brew install git gitの補完を入れる まずはgit-completion.bashというファイルをホームディレクトリに置きます。 homebrewでgitをインストールしている場合、 /usr/local/Cellar/git/1.8.2.3/etc/bash_completion.d/git-complet

    git, git-flowの補完とプロンプトにブランチ名を表示する - yutaponのブログ
    riocampos
    riocampos 2014/06/22
    『$(__git_ps1 "[%s]")という部分がブランチ名の表示』なのでテキトーにPS1を変えてやる。
  • git-ls-files(1)

    This command merges the file listing in the index with the actual working directory list, and shows different combinations of the two. Several flags can be used to determine which files are shown, and each file may be printed multiple times if there are multiple entries in the index or if multiple statuses are applicable for the relevant file selection options. -c --cached Show all files cached in

    riocampos
    riocampos 2014/06/21
    git ls-files -tオプションで表示されるHなどの意味。
  • gitでファイル一覧を見る方法 CodingFirst

    C言語、PerlJavaScript、最近はPythonも。出来上がったものより、プログラムを書くことが好き。あと、スイーツ。 コマンドラインで git管理されたファイルをどうやってみるの? というのを調べて、便利なaliasを作った。 gitkとか、TortoiseGitを使えば良いのだけど、 コマンドラインでさくっと見たいときに便利だし、 加工しやすいしね。 svnでいうと、'svn ls'とか'svn status -v'とかのイメージ。 gitだと、ls-files があるので、試してみる。 ちなみにリポジトリは git のソースコード。 $ git ls-files .gitattributes .gitignore .mailmap COPYING Documentation/.gitattributes Documentation/.gitignore Documentat

    riocampos
    riocampos 2014/06/21
    参考にした上で『git config --global alias.ls "ls-files -t"』というのにしておいた。
  • rebaseしたらgit pushがrejectされた | Noriaki Horiuchi Tech Blog

    経緯 小さなコミットを複数回行ったために、これを統合(rebase)して一回のコミットとした。 BCDE---F master / ---A---B---C---D---E---F remote/master すると、以下のように表示されて、pushできなくなってしまった。これは困った。 [rejected] master -> master (non-fast-forward) error: failed to push some refs to 'git@heroku.com:***--***.git' hint: Updates were rejected because the tip of your current branch is behind hint: its remote counterpart. Integrate the remote changes (e.g. h

    riocampos
    riocampos 2014/06/08
    『結論としては…remote/masterは消えても構わないのだから「git push --force」で対応することとした。』
  • 任意のリビジョンのファイルを別名で保存する方法(Git) - Qiita

    gitでgit checkout <commit> -- <file>で任意のリビジョンに戻せることは知っていたのですが、「別名で保存したい時ってどうやってやるんだろう?」と前から思っていました。(ググっても欲する情報にヒットしない...) で、やっとわかったので折角なのでアウトプットしておきます。 git cat-file blob <commit>:<file> これで標準出力に出力されますので、ファイルにリダイレクトすればOK! 例 git cat-file blob git cat-file blob e4426a7:.vimrc > vimrc_e4426a7 まぁしかし、これ結構使いそうなのに入門書とかに載ってないよねぇー不思議。 大抵はgit diffを使うっていうのはあるけど... 追記 git show <commit>:<file> これでもできた。(thanks to

    任意のリビジョンのファイルを別名で保存する方法(Git) - Qiita
    riocampos
    riocampos 2014/05/17
    git show <commit>:<filename>で標準出力に出るので、適当にファイルへリダイレクトする。
  • Make Heroku run a non-master branch (Example)

    riocampos
    riocampos 2014/04/03
    localのbranchがyour-branchの場合には「git push heroku your-branch:master」とする。
  • git diff で長い行が wrap されなくて困ったときの設定 - どせいけいさんき。

    linux, メモ目的git diff でながーい行を含むファイルの差分を表示したとき,ながーい行がコンソールの端っこで折り返さないで彼方に消えてしまった.変更点はながーい行の一部分だけを変更する場合もあるのでながーい行をきちんと折り返して差分を表示するようにしたい. 解決方法基的に git のせいではなくて core.pager で設定しているページャのせい.僕の環境の場合は less が git のページャになっているので適切なオプションを設定してあげれば良い.検索したところこのサイトがひっかかった.いくつか解決策が提示されていたので試してみた.less -r を使う希望通りながーい行を折り返して表示することができた.しかし,表示の面で多少問題がある.ながーい行を内部的に一行として扱っているため,less で一行ずつ送っていくとながーい行のところで行送りがジャンプするような挙動になる

    riocampos
    riocampos 2014/04/02
    折り返し設定は「less -+S」にすると良い。
  • git と mercurial の diff を美しく表示するために必要なたった 1つの設定 (原題: diff-highlight 1.0.0 をリリースしました) - Hack like a rolling stone

    Git の diff を美しく表示するために必要なたった 1 つの設定 #git にインスパイアされて作り始めた diff-highlight にあれこれ手を入れ、1.0.0 として正式リリースしました。 diff-highlight と git-contrib/diff-highlight の違い 差分の中で +/- の行数が一致していないときのハイライトの扱い git-contrib/diff-highlight での表示 +/- の行が一致していないとハイライトされません。 diff-highlight では、マッチする行を認識してハイライトします。 +/- の行数が一致しても、文字単位でのハイライトをしてくれないケースがある git-contrib/diff-highlight での表示 差分の 1行目同士を比較しているため、pager の行がハイライトされていません。 diff-

    git と mercurial の diff を美しく表示するために必要なたった 1つの設定 (原題: diff-highlight 1.0.0 をリリースしました) - Hack like a rolling stone
    riocampos
    riocampos 2014/04/02
    これ便利。こないだpyenvでPythonの環境を作っといて良かった^^
  • Gitのインラインdiff (word-diffの進化型) - quattro_4's diary

    gitの--word-diffなどは時々使うことがあると思いますが、さらにその出力を少しアレンジした方法が以下のgit diffオプション。 $ git diff --color-words --word-diff-regex='\\w+|[^[:space:]]'使いたい場面はあまり多くない気はしますが、主な用途としては、テキスト(HTML含め)の変更のdiffを見るときに使うと見やすいことが多いかと思います。 他では変数や文字の置換など、同じパターンの変更を大量にしたときなど。 以下、railsのドキュメント変更のコミットのdiffを見比べた例 $ git diff --color-words --word-diff-regex='\\w+|[^[:space:]]' 7a0dad2^..7a0dad2 $ git diff 7a0dad2^..7a0dad2 $ git diff -

    Gitのインラインdiff (word-diffの進化型) - quattro_4's diary
    riocampos
    riocampos 2014/04/02
    git-diffオプションいろいろ。-wだけでも感動した(無知)。--word-diff、--color-wordsなど
  • http://www.machu.jp/posts/20111002/p01/

    http://www.machu.jp/posts/20111002/p01/
    riocampos
    riocampos 2014/03/28
    一通り書いてあるのがいろいろとありがたい
  • Gitの忘れがちだけど絶対に使うであろうコマンド達 | Basicinc Enjoy Hacking!

    ベーシックでは、Gitを使ったバージョン管理システムを導入しています。一部のプロジェクトでは先行して導入していたものの、全社的にはまだまだ…といったわけで、よくGitコマンドについて質問されるので、ここで軽くまとめておきたいと思います。 普段は git add / commit / push / pull しかしてない…っていう人向けです。 addしたファイルを取り消す $git reset HEAD ファイル名 更新内容自体は取り消さず、addしてインデックスに登録するのを取り消します。 更新したファイルの更新内容を取り消す $git checkout ファイル名 commitする前限定です。 他ブランチの特定のコミットだけマージしたい $git cherry-pick コミットID とても便利なコマンドですが、cherry-pickを多用するような運用スタイルになっていたら問題なので、

    Gitの忘れがちだけど絶対に使うであろうコマンド達 | Basicinc Enjoy Hacking!
    riocampos
    riocampos 2014/02/08
    間違いなく使いますw
  • 橋本商会 » HerokuでSinatra+PhantomJS

    ためしに、URLを入れるとaタグのhref属性とxy座標と幅と高さが取れる簡単なアプリを作ってみた。herokuでwebkitが動いててサーバー側でいったんページをレンダリングしてるから、座標とかがわかる。 http://phantom-getlinks.herokuapp.com/ ソースコード https://github.com/shokai/sinatra-heroku-phantomjs readmeに書いてある通りやればローカルでもHerokuでもすぐ動かせるのでcloneしてみるとよい。 PhantomJSでページをレンダリングしてからaタグの座標とか読む PhantomJSはプロセス内にwebブラウザ(webkit)を起動して、しかもその中のJavaScriptにアクセスできる → 橋商会 » PhantomJSでwebページ内のJavaScriptを読む Phantom

    橋本商会 » HerokuでSinatra+PhantomJS
    riocampos
    riocampos 2014/01/09
    heroku-buildpack-multiというのを用いてRubyとPhantomJS両方のbuildpackを使う。