タグ

gitに関するigrepのブックマーク (273)

  • Gitの便利な-pオプション四兄弟 - エンジニアをリングする

    この記事はGit Advent Calendar 2014の6日目の記事です! (更新がお昼になってしまいました、ごめんなさい><) みなさん! Gitの-pオプション使ってますか? 今日は便利な-pオプションを使えるコマンドと、使いどころをご紹介します! 紹介する内容 git add -p git stash -p git log -p git stash show -p git checkout -p git add -p きっとこれが一番有名ですね! 追加したい変更を、ファイル単位ではなく差分のブロックごとに追加していくことができます。 Git管理されているindex.htmlに、以下の修正を加えたとしましょう。 ヘッダーのメニューの文字を小文字から大文字に変更 Contactに新しいリンクを追加 このまま両方まとめてコミットしてコミットメッセージに両方の内容を書いておくというのもひ

    Gitの便利な-pオプション四兄弟 - エンジニアをリングする
    igrep
    igrep 2015/01/16
    checkout -p stash -p show stash。log -p相当のことはshowに複数のrangeを渡してもできたはず。
  • 依存リポジトリ管理でのsubmodule/subtree/subrepoの使い分け - Qiita

    依存ライブラリを利用する場合RubyGemsやらCocoaPodsといったツールで万事解決するケースがほとんどだと思いますが、たまーにGitに上がっているライブラリを直接自分のリポジトリに追加しないといけない場合もあったりします。 こういった時に使うGitのサブコマンドそれぞれの特徴と使いどころをまとめてみました。 submodule 一番スタンダードな外部リポジトリ追加方法です。たぶん大抵の依存管理ではこれを使えば十分でしょう。git-submoduleを利用すると、外部リポジトリのコード自体は自プロジェクトの管理下に取り込まれず、リポジトリの特定コミットへの参照情報のみが登録されます。外部リポジトリのcommit hashへのポインタが追加されるようなイメージです。 $ git submodule add git@github.com:Alamofire/Alamofire.git $

    依存リポジトリ管理でのsubmodule/subtree/subrepoの使い分け - Qiita
    igrep
    igrep 2015/01/06
    いいまとめ!
  • コンフリクトの解決を記録して再適用する git rerere - Qiita

    はじめに Git を使う場合、ブランチの作成とマージを頻繁に行うような運用が多いと思います。例えば、機能追加やバグ修正を行う場合には流ブランチからトピックブランチを作成して、作業はトピックブランチにコミット、作業が終わったらトピックブランチ流ブランチにマージ、といった運用です。 この場合、トピックブランチは細かい単位で作成して、作業が終わったらすぐマージする、というのが良いプラクティスであろうと思います。すぐマージすると、コンフリクトは起こらない場合が多いです。とはいえ、やはりコンフリクトが起こる場合はあります。 コンフリクトが起こる場合とは、feature/12345 ブランチを作成して作業して master ブランチにマージしようとしたところ、別の誰かによる変更が既に master ブランチに取り込まれており、しかもその変更箇所が feature/12345 ブランチでの変更箇所

    コンフリクトの解決を記録して再適用する git rerere - Qiita
    igrep
    igrep 2015/01/06
    こりゃ知らんかった。ぜひ使ってみよう。
  • デザイナーがこうやってGit覚えて大好きになったよ♡ - Qiita

    はじめに こんにちは!nanapiデザイナーのyunicoです!「Git Advent Calendar 2014」の15日目を担当します(^o^) 今年はなんか色々GitGit言っていた年だったので、最後にアドベントカレンダーに参加しちゃいます!わいわい!去年からすると、まさか一年後にGitのアドベントカレンダーに参加しているとは思いもよりませんでした〜。感慨深いものです!よろしくお願いします<(_ _)> 前置きと今年やったことまとめ TechBlogでGitについて書いた nanapi勉強会でTL GithubKaigiでTL PatchworkTokyoでメンター&LT Gitが大好きになった♡というブログを書いたら色々ご縁があり、3回ほど登壇しました(╹◡╹) nanapi勉強会vol.2では「 GUIじゃなくてターミナルからコマンドでGit使うと便利!」という話、GithubK

    デザイナーがこうやってGit覚えて大好きになったよ♡ - Qiita
    igrep
    igrep 2015/01/06
    テキストファイル扱いながら実際にやっていけばこのへんピンと来やすいと思うんだけどどうなんだろう。
  • Gitべからず集 - Qiita

    導入 Gitはとても便利なツールです。ですが、「これをやったら無意味だろ」「せっかくのGitが台無し」「むしろ開発の妨げ」的なこともいくつか存在します。ここではそんな「べからず」集の一部をご紹介します。 ケース1:ブランチを使わない 深刻度:論外 修正難易度:とても易しい それ、SVNでやりなよ度:最大 コメント:トップバッターがいきなりアレですが、要はブランチを使いましょうということです。Gitの特徴としてマージが比較的容易であるという点が挙げられます。じゃんじゃんブランチを作り、マージしましょう。 ケース2:ブランチ名がhogeやBug fixだらけ 深刻度:中 修正難易度:易しい 身にしみる度:中 コメント:ブランチを作るのはいいのですが、ブランチ名にも変数名と同じく気を遣いましょう(変数名、気をつけてますよね?)。当たり前ですが、同じ名前のブランチを複数作ることはできません。まあ、

    Gitべからず集 - Qiita
    igrep
    igrep 2015/01/06
    直接コミットログ見ないで履歴見たいときは大抵Pull Request単位で追ってるから、マージコミットが多くてもあんまり気にならないんだよなー。あと自分しか使わないと分かってるブランチはガンガンforce-pushしてるなあ
  • git mergeでコンフリクトが発生するか前もって調べる方法 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    git mergeでコンフリクトが発生するか前もって調べる方法 - Qiita
    igrep
    igrep 2015/01/06
    うーん、1コマンドで作業ツリーを一切更新しないでチェックできないか、と思ってたけど意外と力技なんだね
  • Using Microsoft Word with git

    One of the major challenges of writing a journal article is to keep track of versions - both the different versions you create as the document progresses, and to merge in the changes made by your collaborators. For most academics Microsoft Word is the default writing tool, and it is both very good and very bad in this. Very good because the track changes feature makes it easy to see what has chang

    Using Microsoft Word with git
    igrep
    igrep 2015/01/02
    pandocでmarkdownに変換してからdocxファイルのdiffをとれ、と。さすがにmergeは手でやるっぽい。
  • Git 1.8.5.6, 1.9.5, 2.0.5, 2.1.4 and 2.2.1 and thanking friends in Mercurial land

    Git 1.8.5.6, 1.9.5, 2.0.5, 2.1.4 and 2.2.1 and thanking friends in Mercurial land We have a set of urgent maintenance releases. Please update your Git if you are on Windows or Mac OS X. Git maintains various meta-information for its repository in files in .git/ directory located at the root of the working tree. The system does not allow a file in that directory (e.g. .git/config) to be committed i

    igrep
    igrep 2014/12/19
    大文字小文字を区別しないファイルシステムだと、.git/configを不正に書き換えられちゃう、と。
  • インデントコミットで真犯人がわからなくなった場合の git blame

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    インデントコミットで真犯人がわからなくなった場合の git blame
    igrep
    igrep 2014/11/14
    ブクマし忘れてた。
  • Post by @shyouhei · 2 images

    前回の時点では「git blameが密になっているところはきっと活発に編集されていたに違いない」という仮説があったわけですが、これは当のところは、よくわからない。なぜかというと、blameというのは地層のように降り積もったコミットの表面に露頭してるところしか見せてくれないわけです。当に活発に更新されていたかを知るには、ようするに地質平面図じゃなくて地質断面図が必要なわけ。分かりますよね。 で、それはどうやって作ればいいかというと、gitには便利なgit log -pという、こういうとき便利だけど普段は使い道のなさそーなコマンドがあって、これは生のdiffをすべてだらだらと表示してくれるわけですよ。で、diffからblameを再構成するにはdiffの+行をひたすら集めてくればいいわけだけど、その時-行も一緒に覚えておいて、あるコミットでどのコミットが上書きされたかを覚えておくことができる

    Post by @shyouhei · 2 images
  • Amazon.co.jp : デザイナーからプログラマーまで 絶対わかるGitバージョン管理

    Amazon.co.jp : デザイナーからプログラマーまで 絶対わかるGitバージョン管理
    igrep
    igrep 2014/11/14
  • Ruby - [翻訳] 私のコミットをまとめないで - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに RubyのコミッターでもありRailsなどの多くのOSSで活躍されているMarc-André Lafortune さんのブログに面白い記事があったので筆を取りました. (許可は取りましたヨ) Why I Won't Squash My Commits *注釈 [...] で記された文章は原文には存在しない私の注釈であるので留意されたいです. 翻訳に至らない所があれば編集リクエスト待ってます. 要約 PR,feature単位でcommitをまとめるかどうかでRailsプロジェクト上などで揉めた. それぞれのcommitは独立し

    Ruby - [翻訳] 私のコミットをまとめないで - Qiita
    igrep
    igrep 2014/11/12
    rebase -iとかちゃんとしなきゃなね。。。
  • Gitで、HEAD^[n]とHEAD~[n]とHEAD@{[n]}の違いが分かってなかったので書いとく - Qiita

    おそらくこんなかんじっぽい。 ※ざっくり書いて公開しちゃったけど、もう少し詳しく補足しました(2013/09/15 17:13) それぞれ説明してみる HEAD^[n] git logで出力される変更履歴(コミットログ)を参照してる。 この場合のnは、「n番目の親コミット」の意。 git mergeとかした場合にマージ元となっている親ブランチが複数あった場合にnで指定してたどれるようです。 ぼくが使ってるリポジトリで試したらHEAD^2くらいまでしか辿れなかったんで、あんまり使いどころ実感してないんですけど… HEAD~[n] git logで出力される変更履歴(コミットログ)を参照してる。 この場合のnは、「n世代目の親コミット」の意。 基的には(この場合は起点をHEADとして)git logのタイムラインを遡るイメージでnを利用できます。要は、git show HEAD^^^^とgi

    Gitで、HEAD^[n]とHEAD~[n]とHEAD@{[n]}の違いが分かってなかったので書いとく - Qiita
    igrep
    igrep 2014/11/08
    "HEAD@{[n]}$ git reflogを参照してる。Gitを操作した記録がなされてて、それベース。"
  • vimdiffでより賢いアルゴリズム (patience, histogram) を使う - Qiita

    vim 内蔵の diff を使う internal 指定は diffexpr がセットされていると無視されてしまうので注意してください。また、 algorithm:アルゴリズム名 に加えて、差分の位置を最適化する indent-heuristic も指定しておくのがおすすめです。 もし diffchar.vim をお使いの場合、 diffexpr がセットされないように let g:DiffExpr = 0 も書いておく必要があります(diffchar.vim については別途記事を書いています)。 <<<<<<< 2019.01.05 追記ここまで vimdiff使ってますか?差分を取る際には非常に便利ですよね。git difftoolに設定して使っている人も多いと思います。しかしgit diffは差分計算のアルゴリズムを選択できますが、vimdiffはデフォルトでは差分計算のアルゴリズム

    vimdiffでより賢いアルゴリズム (patience, histogram) を使う - Qiita
    igrep
    igrep 2014/11/05
    "patienceアルゴリズムは「ファイル内でユニークかつ比較ファイル同士で一致する行をなるべく"変化していない行"と認識する」" 覚えてたら使ってみよ。
  • バージョン管理したくない作業用スクリプトは「,」ディレクトリに入れるといい - Qiita

    TL;DR: グローバルな gitignore に ,/ を追加して、作業用スクリプトを , ディレクトリに入れると便利。 ,/tmp_script.sh で実行できる。 Git リポジトリの中に一時的に使う作業用スクリプトを置いておきたいことがある。自分だけが使うものなのでコミットはしたくないが、いちいち .git/info/exclude に追加して無視させるのも面倒臭い。 今まで自分は、 tmp_script.sh~ や tmp_script.sh.bak など、グローバルな gitignore で無視されるファイル名にしていたが、これは不要なファイルと間違えて消してしまう危険がある。 ignored.tmp_script.sh は分かりやすいぶん長い。 _tmp_script.sh は悪くないが、コミットすべきファイルにもアンダースコアで始まるものがあって紛らわしい。 そこで、作業

    バージョン管理したくない作業用スクリプトは「,」ディレクトリに入れるといい - Qiita
    igrep
    igrep 2014/10/28
    Nice idea! ただ、あくまでも自分しか使わない環境でのお話ですよね!
  • 削除されたファイルをまとめてステージに - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    削除されたファイルをまとめてステージに - Qiita
    igrep
    igrep 2014/10/18
    "git rm $(git ls-files --deleted)"
  • Modify your commit messages (Example)

    igrep
    igrep 2014/09/07
    "git rebase --interactive <commit_hash>"
  • How can I git stash a specific file?

    How can I stash a specific file leaving the others currently modified out of the stash I am about to save? For example, if git status gives me this: younker % git status # On branch master # Your branch is ahead of 'origin/master' by 1 commit. # # Changes not staged for commit: # (use "git add <file>..." to update what will be committed) # (use "git checkout -- <file>..." to discard changes in wor

    How can I git stash a specific file?
    igrep
    igrep 2014/09/03
    特定のファイルのみstashしたい時の方法。ちょっとman読んでできないと勝手に思い込んでた。
  • いろいろ - hg and git

    hg と git のコマンド相違点 似てるようで違う hg と git の違いのメモ。 基 working directory : バージョン管理対象のファイルを置くディレクトリ。バージョン管理対象にしないオブジェクトファイル等を一緒に置いても良い。 repository : working directory の一番上にある、.hg (hg の場合) または .git (git の場合) ディレクトリの中身。バージョン管理に関する情報、履歴等が置かれる。 あるところにあるリポジトリを追いかけるだけの使い方 たとえば www.kernel.org の Linus のリポジトリを追いかけるとか、そんな使い方の場合。一番シンプルな例。 最初の取得 (リポジトリを取得し作業ディレクトリに最新の内容を展開する) hg clone url [dir] git clone url [dir] 最新リ

  • peco と alias -g で git に便利革命おきた - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    peco と alias -g で git に便利革命おきた - Qiita
    igrep
    igrep 2014/08/20
    そうかpecoってzshと組み合わせると確かに超便利そうだなぁ。git shをzshに対応させればもっと楽になる?僕はbashで満足してる人間なんでやらないけど。