タグ

gitとTIPSに関するiwwのブックマーク (31)

  • Gitではワーキングツリーを入れ子にできるようです - No Programming, No Life

    はじめに Gitは.gitフォルダにてメタデータをすべて取り扱うため、タイトルのように、ワーキングツリーを入れ子にできるのかな?と思って実験してみたらできたのでこの記事を書いています。 図にするとこんな感じ *1 一つめのワーキングツリーが青色のところだとして、さらに二つ目のワーキングツリーが一つ目のワーキングツリーの内部のどこか(図では赤色のところ)にあるような構造となります。 動き 入れ子のワーキングツリー(赤色)内部のどこかでGitコマンドを使うと、入れ子のワーキングツリーのルート部分の.gitが利用されます。 親のワーキングツリー(青色)のどこかでGitコマンドを使うと、親のワーキングツリーのルート部分の.gitが利用されます。 入れ子のワーキングツリーでファイルを編集してコミットした場合でも、親のワーキングツリーではまだコミットされていない状態であるので別途コミットする必要あり。

    Gitではワーキングツリーを入れ子にできるようです - No Programming, No Life
    iww
    iww 2014/07/15
    入れ子にしても大丈夫そうな感じ
  • .gitconfigに設定してるaliasなどのまとめ - ( ꒪⌓꒪) ゆるよろ日記

    22:56 @thinca さんからの指摘を追記 @yuroyoro あとお節介ですが、n個前とdiffなら HEAD^ より HEAD~ の方がいいと思いますよ。両者では若干意味が違います。~なら HEAD~3 と数字が書けるのも利点です。あと個人的にはwhatchangedよりlog --statの方が見やすくて好きです。 2010-10-08 22:30:52 via Tween to @yuroyoro @yuroyoro URL このgitconfigの記事に関して質問なのですが、core.excludesfile は $HOME で動きますか?以前試した時ダメで、~/ なら動いたのでこちらを使ってるんですが。 2010-10-08 22:20:49 via Tween to @yuroyoro 「そんな.gitconfigで大丈夫か?」 そんなわけで、仕事でもモリンモリンにgi

  • git bisect で問題箇所を特定する - Qiita

    以前は問題なく動いていたはずの機能が、最新版では動かなくなっている・・・。こんなときは、「どのコミットが問題を混入させてしまったのだろうか?」を知りたくなるでしょう。 これを手助けするのが git bisect コマンドです。git bisect コマンドは、二分探索によって問題箇所を特定します。 事前準備 最初に大事なことがひとつあります。それは、「問題がない(good)状態と問題がある(bad)状態を、確実に判定できるようにする」 ことです。 当然のことではありますが、ここがあやふやだと、二分探索をしても問題箇所をうまく特定できません。 可能なら、「テストスクリプトを1つ実行するだけで判定」できるようにしたほうが良いです。このとき、テストスクリプトは、git リポジトリからチェックアウトした作業ツリーに対して実行できるようにします(例えばソースからのビルド処理もテストスクリプトに含めま

    git bisect で問題箇所を特定する - Qiita
    iww
    iww 2014/02/04
    『(ただし 125 は除く)』
  • Coloring white space in git-diff's output

  • GitHub で clone するときは SSH じゃなく HTTP を使ったほうが高速

    GitHub には clone するための URL として [HTTP]、[SSH]、[Git Read-Only] の 3 つが用意されている。 いままで、SSH に慣れているという理由だけで [SSH] を利用していたのだけど、「SSH は転送速度が遅い」という問題がある。 SSH だとこんなに遅い… さっき、[SSH] で clone してみたら 20~60 KiB/s 程度の速度しか出なかった。 $ git clone git@github.com:nitoyon/tech.nitoyon.com.git Cloning into 'tech.nitoyon.com'... remote: Counting objects: 8856, done. remote: Compressing objects: 100% (2125/2125), done. remote: Total

    GitHub で clone するときは SSH じゃなく HTTP を使ったほうが高速
  • git difftool --dir-diff が便利すぎて泣きそうです

    Git の 1.7.11 から git difftool コマンドに --dir-diff というオプションが追加されたのですが、これがライフ チェンジングだと思ったので紹介します。 --dir-diff 登場以前の git difftool は「ファイルごとに順番に差分を表示していく」ことしかできず、使い勝手はいまいちでした。それが、--dir-diff オプションの登場で状況が一変したわけです。 こんな感じの使い心地だよ ある Git レポジトリーで dir1/a.txt と dir2/c.txt を編集したとしましょう。 この状態で git difftool --dir-diff または git difftool -d を実行してみると・・・。 はい、差分のあるファイルが一覧で表示されました。 (difftool に WinMerge を設定して、メニューから [ツリー表示] を有効

    git difftool --dir-diff が便利すぎて泣きそうです
  • gitで便利なエイリアス達 - Qiita

    これはGit Advent Calendar / Jun. - Qiita.16日目の記事です. 私はエイリアスが好きなのでgitまわりのエイリアスについて書いてみます. 間違ってたらすみません,指摘してくださると嬉しいです. 設定方法 いろんなスコープにエイリアスを設定できます. 例としてgit stでgit statusを実行できるようにしてみましょう. 設定ファイルに書き込む方法と,git configコマンドで設定する方法があります. 設定ファイルに書く場合は以下のようにaliasセクションに短縮形 = 展開形の書式で書きます. どの設定ファイルに書くかで適用される範囲が変わります. また,コマンドで設定する場合は,git config [option] alias.短縮形 展開形を実行します. マシン全体に反映させる場合 $(prefix)/etc/gitconfigに書くか,以

    gitで便利なエイリアス達 - Qiita
  • あまり知られていないGitのTips - アジャイルSEを目指すブログ

    思い浮かんだGitのTipsを列挙してみました。 gitのコマンドをで補完する git-completion.bash を入れると、でコマンドの補完が効くようになります。 また、PS1の設定を行うと現在のブランチ名が常にbash上に表示されるようになります。 (Windowsの場合、msysgit は標準で入ってます) contrib/completion/git-completion.bash - GitHub インストール方法(引用) # To use these routines: # # 1) Copy this file to somewhere (e.g. ~/.git-completion.sh). # 2) Add the following line to your .bashrc/.zshrc: # source ~/.git-completion.sh # # 3)

    あまり知られていないGitのTips - アジャイルSEを目指すブログ
  • [悪徳商法?支店]: gitに色をつける

    メモ git config --global color.diff auto git config --global color.status auto git config --global color.branch auto git config --global color.interactive auto

    iww
    iww 2013/05/14
    こんなのあったのか。 pagerにcolordiffとか指定しなくても良かったんじゃん
  • Windowsで超簡単にGitを使う方法 (共有フォルダに中央リポジトリを作る) - 備忘録を書いていく

    GitHubはソースが公開されてしまうので避けたい。 Windowsのローカルネットワーク内だけで使えればいい。 サーバもSSHもなしで、とにかく簡単に複数人でGitを使う方法。 結論を言えば、Windowsの共有フォルダに中央リポジトリを作る。ただそれだけの話。 でも(GitExtensionsに?)クセがあって、pushやpullをする段階でかなりハマってしまった。 <環境> 同じネットワーク内のWinXPが2台(PC-1,PC-2)。別途サーバなどはなし。 GitクライアントにはGit Extensions(無料)を利用。 <事前準備> PC-1,PC-2の両方にGit Extensionsをインストール。mSysGitも一緒にインストールされるはず。 PC-1にWindowsの共有フォルダを作る。(例)C:\public <手順> ★中央リポジトリと個人リポジトリを作る まずはPC

    Windowsで超簡単にGitを使う方法 (共有フォルダに中央リポジトリを作る) - 備忘録を書いていく
  • tmp コミットのための独自サブコマンド git-now - アジャイルSEを目指すブログ

    追記[2011/09/26] git-now のurlをgistからgit-hubに変更しました。 追記[2011/10/17] ライセンスはGPLです 一時的なtmp コミットや、簡単なログメッセージのコミット(push 前にログメッセージを整えています)を作るとき、今まで↓みたいな事をしていました。 で、これを使いながら「〜〜も出来たら便利かもー」とかつぶやいていたら、隣の人が一晩で(ry と、そんな感じで出来たgit-now の紹介 簡単な実行例 コマンド $ git now これで、版管理されているファイルのtmp コミットが作成できます。 コミットメッセージ例 [from now] Tue Dec 7 23:00:24 2010 diff --git a/hello.py b/hello.py index 51cff9f..9e84b86 100644 --- a/hello.p

    tmp コミットのための独自サブコマンド git-now - アジャイルSEを目指すブログ
    iww
    iww 2010/12/09
    gitを勉強した後に読む