タグ

gitに関するsheileのブックマーク (26)

  • こわくない Git

    「マージがなんとなく怖い」「リベースするなって怒られて怖い」「エラーが出て怖い」 Git 入門者にありがちな「Git 怖い」を解消するため、Git のお仕事(コミット、ブランチ、マージ、リベース)について解説します。Read less

    こわくない Git
    sheile
    sheile 2018/07/12
  • Loading...

    Loading...
  • 入門書には載ってない Git & GitHub Tips

    第一回 GitHub Kaigi で発表した資料です。

    入門書には載ってない Git & GitHub Tips
    sheile
    sheile 2014/06/03
    stashのオプションはすごく便利なんだけど、stash pop時に同一ソースでもconflictするのが難点
  • IDEA * IDEA

    ドットインストール代表のライフハックブログ

    IDEA * IDEA
    sheile
    sheile 2014/04/02
    使えないコマンドもあるけど、やっぱり図示されるのが一番分かりやすい
  • #10 「githubのプライベートレポジトリをsubmoduleに追加すると困る件の話」 - KAYAC engineers' blog

    @acidlemonです。こんばんは。 tech.kayac.comアドベントカレンダーも気がついたら10日目ということで私の出番です。なんでこの日を選んだかっていうと今日はぼくの誕生日〜。ウィッシュリスト等はございませんので心の隅っこでおめでとうと唱えていただければと思います。ちなみにぼくがカヤックに入社する1ヶ月前まで在籍してたsugyanさんと年まで含めて生年月日がおなじらしいです。 さて! 何を書こうかなと思ったんですが、テーマが「私のイノベーション2013」みたいな感じだったはずなので今年の仕事を振り返ってみると… 1月〜3月: 普通に仕事してた 4月上旬: 社内ISUCONしてた 4月下旬〜8月下旬: 普通に仕事してた 9月〜11月上旬: ISUCON3の予選/戦の準備してた 11月下旬〜: 普通に仕事してた 実はISUCON以外とくに面白いことをやってないのでは…? まぁそ

    #10 「githubのプライベートレポジトリをsubmoduleに追加すると困る件の話」 - KAYAC engineers' blog
    sheile
    sheile 2013/12/10
    git submodule update 時の認証をどう回避するかという話。
  • 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 - 詩と創作・思索のひろば
    sheile
    sheile 2013/11/28
    pagerに「add = diff-highlight | less」を追加しておくとadd -pでも使える様子。便利!/と思ったら駄目だった。
  • Git のコミットのタイムスタンプには author date と committer date の 2 種類があるという話 - ひだまりソケットは壊れない

    普段から git rebase や git commit --amend をよく使っており、それらのコマンドはコミットのタイムスタンプを変更しないものだと思っていたのですが、実はコミットのタイムスタンプを変更していることに気付いて驚いたという話。 Git のコミットがもつ 2 種類のタイムスタンプ 特に何もオプションを付けずに git log すると、以下のように Author と Date が表示されます。 $ git log commit d447eeeb49d04e79b257e7abe6e633541d5e1c52 Author: nobuoka <...@...> Date: Thu Jan 31 20:45:47 2013 +0900 Prepare test tools (mocha and qunit)で、git rebase や git commit --amend で過

    Git のコミットのタイムスタンプには author date と committer date の 2 種類があるという話 - ひだまりソケットは壊れない
    sheile
    sheile 2013/10/15
    git rebase時にdateが変わってしまう問題の対処法。mergeしろってのも分かるんだけど、リファクタリング程度の単一コミットだとやっぱり一本道にしたかったり。
  • Git初心者に捧ぐ!Gitの「これなんで?」を解説します。

    はじめましてこんにちは、今年新卒でKRAYに入社しました亀井と申します。 会社のみなさんからは「あさちゅん」と呼ばれております。どうぞよろしくお願いします。 突然ですが、みなさん使ってますか? Git。 KRAYではバリバリ活躍してるGitですが、 「よくわからない……」と頭を抱えてる方も多いですね。 わたしも抱えてます。 正直、KRAYに入社するまでターミナルを使ったことすらなく、 Gitも入社してから使いだしたので初心者もいいところです。 そんなわたしが1日約200回×3ヶ月ターミナルでGitコマンドを打ち続けて やっとわかってきた、Gitの「これなんで?」を解説します。 主にGit初心者、Gitについて理解を深めたい人向けです。 もくじ なんでcommitする前にaddしなきゃいけないの? ブランチってなんのために分けるの? HEADってなんなの? 消したファイルもコミットしなきゃい

    Git初心者に捧ぐ!Gitの「これなんで?」を解説します。
    sheile
    sheile 2013/09/04
    addの利点は「commitに含めたい部分と含めたくない部分が混在していても、必要な部分だけをaddしてcommitできる」だと思ってるので、ちょっと説明に違和感。git add -pに慣れるとSVNに戻れません・・・
  • Learn Git Branching

    A interactive Git visualization tool to educate and challenge!

    Learn Git Branching
    sheile
    sheile 2013/08/07
    グラフィカルにコミット履歴を確認できるGitシミュレータ
  • GitBashのlsで日本語のファイル名を表示する方法 - タイトルは未定

    msysgitのbashでlsすると日語のファイル名が文字化けします。そもそもmsysgit自体、現在のバージョン*1では日語ファイル名が扱えないのでGitを使うだけならそれほど困らないのですが、どうすればよいか一応メモしておくことにします。 処置以下のように、「--show-control-chars」を指定します。 > ls --show-control-chars 毎回入力するのは面倒なので、aliasに設定しておきます。gitインストールディレクトリにある etc\profile をエディタで開いて、 alias ls='ls --show-control-chars' とするだけです。profile でいいのか?*2という話はありますが、個人的には使えればいいやということで…ツイートする

  • こわくない Git

    8. コミットに入ってる情報 リビジョン (SHA-1 ハッシュ) 例: 23cdd334e6e251336ca7dd34e0f6e3ea08b5d0db Author (コミットを作成した人) 例: オープンソースプロジェクトにパッチを送った人 Committer (コミットを適用した人) 例: 受け取ったパッチを取り込んだ人 ファイルのスナップショット (tree) コミットで変更されたファイルを含むツリー(説明は省略) 1つ前のコミットのリビジョン 例: 4717e3cf182610e9e82940ac45abb0d422a76d77 9. コミットに入ってる情報 リビジョン (SHA-1 ハッシュ) 例: 23cdd334e6e251336ca7dd34e0f6e3ea08b5d0db Author (コミットを作成した人) 例: オープンソースプロジェクトにパッチを送った人 Co

    こわくない Git
    sheile
    sheile 2012/11/22
    rebaseではなくmerge --no-ffを使うべき理由がわかりやすくまとまっている
  • 【派閥別】Gitのコミットを間違えたときの対処法まとめ - 本当は怖いHPC

    追記:たくさんブクマしていただいて驚いております。ブクマコメントだと、やはり git push -f は反則だろという意見がサイレントマジョリティのようですが、そこはそれ、自 己 責 任 追記2(2011/11/07):commit messageをミスった場合について訂正しました。 git rebase -i で直近のコミットを "edit" にして修正すると、 「--amend使えや」と言われるようです。 gitのコミットをしくじった時の対処法について、一覧性の高いまとめがなかったので作りました。正確さは保証できないので、コマンド名ヒントに自分でググって下さい ほかのやり方があるよ、間違ってるよ等のご指摘歓迎です。 派閥別 gitでコミットミスった時のまとめ | ├─ 一人で使ってるよ |   | |   ├─ 手元に変更を取り戻したいよ(1)(そうだね、add忘れだね派) |   |

    【派閥別】Gitのコミットを間違えたときの対処法まとめ - 本当は怖いHPC
    sheile
    sheile 2011/11/07
    アンステージってgit resetよりgit rm --cachedの方が良いのか?はて。
  • 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の日記
    sheile
    sheile 2011/10/26
  • git rebaseのメモ - unpushの日記

    ときどき間違うので。 大雑把に言うと、git rebase は「git reset + git cherry-pick × n回 を自動化したもの」と考えられる(適用するコミット群が少なければ、手動でreset & cherry-pickしても良いが、たくさんあるとそうもいかない) 好きな場所にresetして、好きな位置から好きな位置までのコミットを順次適用できる。 つまりコミットを並べ替えたり除外したり、「積み木を積み直す」ようなことが出来る。 git rebase ポピュラーな使い方。 現在のブランチをにreset から見て現在のブランチにだけ存在していたコミットを順に適用 適用されるコミット群は、から見て現在のブランチにだけ存在していたコミット、つまりgit log ..HEAD で出てくるコミット。 以下の例だとA、B、Cのコミットがreset後に適用される予定 A---B---C

    git rebaseのメモ - unpushの日記
    sheile
    sheile 2010/06/09
  • http://www.machu.jp/posts/20100506/p01/

    http://www.machu.jp/posts/20100506/p01/
    sheile
    sheile 2010/05/06
  • git-cherry-pickを掘り下げる - idesaku blog

    Gitにgit-cherry-pickという、知らなくてもなんとかなるが知っていると便利なコマンドがある。このコマンドを少し掘り下げてみた。 git-cherry-pick git-cherry-pickは、狙ったコミットの変更内容だけを現在のブランチに取り込む操作である。 例えば、つぎのような履歴を想定する。 ---A---B---C [master] \ \ ---X---Y [temp]ここで、YはCの後にコミットするほうが適切であることに気づいた。このとき、masterブランチで次のようにすると目的は達成される*1。 $ git cherry-pick YコミットYの変更内容だけをmasterのHEADに適用する、という操作である。このときXの変更内容は適用されない点がgit-mergeとは異なる。 ---A---B---C---Y' [master] \ \ ---X---Y [

    git-cherry-pickを掘り下げる - idesaku blog
    sheile
    sheile 2010/03/12
  • githubでpull requestもらったのでmergeしてみる - 狐の王国

    githubでforkして開発してみる - otsune's SnakeOil - subtech ということでotsuneさんからpull requestもらったのでmergeしたという作業メモ。git初めて使ってるのでわけわかめー。 Pull Requests ― Git Guides ― GitHub といってもここにある通り。 $ git remote add -f otsune git://github.com/otsune/foltia-the-next-generation.git $ git checkout -b otsune/master $ git pull otsune master:02d0a00 $ git branch 02d0a00 master * otsune/master ということでotsuneさんのブランチが手元に来たので、これを自分のmaster

    githubでpull requestもらったのでmergeしてみる - 狐の王国
    sheile
    sheile 2010/03/11
  • git/コミットログを修正する方法 - TOBY SOFT wiki

    はじめに † gitでコミットログを修正したいです。 Redmineとかで、refs #10とかcloses #10とかつけるとコミットログにチケットを関連付けられますが、これがよく書き忘れるんですね…。 直前のコミットログを修正する方法あるみたいです。 直前のコミットログ以外も修正する方法はないのかな…。 (Subversionだとhookスクリプトで許可できますよね。分散型だとやっぱり無理?) ↑ 直前のコミットログを修正する方法 † 直前のコミットログの修正は"git commit --amend" でよいみたいです。 例えば、 $ git commit -m "fixed xxx bug" : # コミット完了! # あ!しまった!"refs #(チケット番号)"つけるの忘れてた! # (私が使うプロジェクト管理ツールRedmineではrefs #13 のようにすると # コミット

    sheile
    sheile 2010/03/10
  • git rebaseって超便利じゃね? - Seasons.NET

    Gitでとても便利だと思っているのが、rebaseというコマンド。 ブランチを切った時点からオリジナルは刻一刻と変化していくわけで、 自分のブランチはあくまで現在最新のオリジナルに対するパッチである 必要がある場合は、このrebaseというコマンドを使って、オリジナル(HEAD)と マージすると、最新のオリジナル(HEAD)に対して、ブランチを切ったことになります。 これチョー便利じゃね? 以下、git-rebaseから引用 git-rebase を使用して一連のパッチを最新に保つ リモート追跡ブランチ "origin" の上にブランチ "mywork" を作成し、幾つかコミットを作成したとします: $ git checkout -b mywork origin $ vi file.txt $ git commit $ vi otherfile.txt $ git commit ... m

    git rebaseって超便利じゃね? - Seasons.NET
    sheile
    sheile 2010/03/04
  • githubにpushしたcommitの取り消し - 七誌の開発日記

    githubにpushしてからcommitが間違っていたことに気付きました。以下のようにすると取り消すことができます。 【注意】commitだけでなく変更も失われます。ローカルのソースツリーは残された最後のcommitに戻されます。変更を保存したい場合は使わないでください。コミットログの修正には git commit --amend を使用してください。 git rebase -i HEAD~2 ← エディタが開くので二行目を削除して保存する git push origin +master以下を参考にしました。 How can I remove a commit on github? id:okmount:20091021 古いコミットを書き換える: 歴史修正主義者のための git rebase -i 入門 githubだけ githubだけを取り消すには別の方法もあります。ローカルは同期

    githubにpushしたcommitの取り消し - 七誌の開発日記
    sheile
    sheile 2010/03/04