「hogeを含むファイルってどこにあったっけ…」 「そもそもhogeっていつ、だれが、どのファイルに追加したっけ…」 などなど、確認したいときは以下のコマンドを使うとすぐに探せます。 現在のワークツリー上から対象文字列を含むファイルを検索 -Eや-Gを使う事で正規表現も使用可能です。 (-E, --extended-regexp, -G, --basic-regexp) -Iを使用する事でバイナリファイルを検索対象から除外できます。 過去のコミットから対象文字列を含むコミットを検索
Gitバージョン管理において履歴を分岐させるブランチと呼ばれる機能、分岐した履歴を統合するマージと呼ばれる機能について、GitクライアントのSourceTreeを使った方法についてお伝えしていきます。 ブランチを切ってバージョンを分岐させる方法、そして分岐させたブランチをマージして統合する方法についてお伝えしました。 こうすることで、複数人での並行作業や、別々のバージョンを試してみる、また最終版を安定確保しておく、などの作業の進め方が実現できますので、非常に便利です。 しかしながら、分岐があることにより困ったことが発生する場合があります。 特に複数人で作業する際には十分に起き得るのですが、 同じ箇所を 別々のブランチで 別々の変更をかけてしまっているのに マージする この場合、二つの分岐で不整合が起きてしまい、履歴としてその状態から進ませることができなくなります。 これを「衝突」または「コ
コンフリクトしたときに便利そうなので、備忘録を残しておく Gitのコマンド コンフリクトしているファイルの一覧を表示する。 $ git ls-files -u [<path>] ファイルの状態(コンフリクト含む)を表示する。 -s でshort-format で特定のディレクトリのファイル一覧を表示できる $ git status [<path>] 手動で直す方法 修正後にaddが必要 $ vi <path> (手動でコンフリクトを直す) $ git add <path> mergetool でマージする方法 -y でデフォルトのマージツールが実行する で1つずつ指定できる $ git mergetool -y [<path>] をHEADと同じ状態にする。 修正後にaddが必要 $ git checkout --ours [<path>] $ git add <path> をマージで指定
GitHub Desktop for Windows の Git Shell を起動すると、以下のようなエラーが表示されて Git コマンドが使えなくなってしまった。 Windows PowerShell Copyright (C) 2015 Microsoft Corporation. All rights reserved. 0 [main] us 0 init_cheap: VirtualAlloc pointer is null, Win32 error 487 AllocationBase 0x0, BaseAddress 0x68570000, RegionSize 0x200000, State 0x10000 C:\Users\Yu\AppData\Local\GitHub\PortableGit_xxxx\bin\ssh-agent.exe: *** Couldn't r
この記事はリクルートライフスタイル Advent Calendar 2015 - Qiita の17日目です。 こんにちは。現在、ホットペッパーグルメのエンジニアをやっている敷地@shikicheeです。 gitで英語のコミットメッセージどう書けばいいの? と思ったことはありませんか? 英語で書きたいなーって思っても、いざ書くとなると躊躇しますよね。 ネイティブはどう書いてるのでしょうか。 そこで、github上で実際に使われているコメントを解析し、 よく使われている例をまとめてみました。 解析したデータ github上で1万スター以上を獲得している169リポジトリのコミットメッセージを対象としました。 bootstrap、jquery、react、d3、docker、node、tensorflowなどの有名なプロジェクトばかりなので、良いコメントが期待できます。 解析するコミットメッセー
vim-gitgutter github.com vim-gitgutterというプラグインを使うと、Gitで管理しているファイル編集時に差分を表現する記号が左端に表示されるようになる。 ~が変更があった行、+が追加行、-が削除された行があることを示す。 インストール NeoBundleの場合は下記行をvimrcに追加。 NeoBundle 'airblade/vim-gitgutter' 使い方 インストールが完了すればデフォルトで有効になっているので設定を特に追加しなくてもよい。有効無効の切り替えは下記コマンドで可能。 :GitGutterToggle また、下記コマンドを実行すると行ハイライトの有効無効が切り替えられる。 :GitGutterLineHighlightsToggle 起動時に行ハイライトを有効にしたい場合は下記行をvimrcに追加。 let g:gitgutter_h
社内向けにまとめたかったので、備忘録として。。。 各種パスはご自身の環境にあわせてどうぞ。 面倒くさいのでクリーンな状態から説明します。 クリーンな状態にするには、 1. TortoiseSVNをアンインストール(コントロールパネル>プログラムと機能) 2. TortoiseGitをアンインストール(同上) 3. msysGitをアンインストール(付属のアンインストーラー) 4. Puttyをアンインストール(コントロールパネル>プログラムと機能) 5. 環境変数をクリアする(コントロールパネル>システム>システムの詳細設定>詳細設定>環境変数) GIT**とかPLINK**系を削除します。特にGIT_SSHは消しておく。 なぜ、Puttyをアンインストールするかは、ssh回りで環境やツールが散乱するのを嫌ってです。 gitbash + gnuwin + opensshで充分ですし、鍵ペア
Visual Studio 2013 で Vim をビルドする。 必要なもの Visual Studio Express 2013 for Windows Desktop 紛らわしいが、for Windows Desktop の方。for Windows は Modern UI アプリ用。 http://www.visualstudio.com/downloads/download-visual-studio-vs#d-express-windows-desktop Git ソースを引っ張ってきたり、パッチを当てたりする。本来は Mercurial を使うべきだが、詳しくない為 Git で代用。 ソースの準備、パッチ適用 Vim 本家のリポジトリは Mercurial なので、vim-jp がミラーしている github のリポジトリからクローンする。 パッチの入手 ビルドしておく前に必要
Git はコードのマージを非常に得意としています。マージとはローカルで高速、そして柔軟に行えるものです。当然のことですが、異なるブランチから誰かがコンテンツをマージするたびにコンフリクトが発生します。コンフリクトを解決するには、主な変更点を把握して見抜かなければなりません。コンフリクトの解決は、時には多くの作業が必要になります。 開発者にはそれぞれ好みのコンフリクト解決方法があります。そのため同僚ライターのダン・スティーブンが以前、Questions for Confluence を使用して社内の人に質問していました。 返ってきた回答と洞察はアトラシアン社員だけではなく、もっと多くの人に役立つものでした。そこで私たちが Git コンフリクトを解決するさまざまな方法を以下に詳しく注釈付きで紹介します。皆さまの毎日のコーディング作業に役立つアイデアや方法がここで得られることを願います。 セット
Eureka EngineeringLearn about Eureka’s engineering efforts, product developments and more.
masterブランチでちょっとした変更をしたいんだけど、devブランチで作業しているから切り替えるのはめんどくさい。 そんな時はgit worktreeを使ってみてください。複数のブランチを切り替えずに操作できます。 ※git worktreeを使うにはGit 2.7.0以降が必要です。それ以前のバージョンだとgit worktree listがありません。 ブランチの追加 操作したいブランチはこんな風に持ってくることができます。 すると、作業ディレクトリ以下に指定したブランチの中身がリンクされます。 たとえば、git worktree add ./worktree-dev devとコマンドを打つと、./worktree-devディレクトリが作成され、その下にdevブランチの内容ができるわけです。 git worktreeは今いるブランチに影響を与えません。 つまり、作業中であっても操作し
年末に知ったvimagitってvimのプラグインが使ってて気持ち良い。 Gitの差分をvimで開けて、行単位でStageしたりCommitできる。 git add -pするvimmerには特におすすめ! ちなみにEmacsプラグインのmagitってやつのコピー版らしい。 インストール〜使い方、オススメ設定まで記載しておく。 インストール NeoBundle 'jreybert/vimagit' 使い方 GitHubのリポジトリにリンクされてるビデオとかを見るとざっくりイメージできると思う。 開き方 :Magit または <Leader>Mでbufferを開く。 セクション bufferは以下の5つのセクションに分かれている。 後で記載するけど表示順などをオプションで指定できる。 info: current branchやHEAD commitのメッセージなどが表示されている Commit
以前は問題なく動いていたはずの機能が、最新版では動かなくなっている・・・。こんなときは、「どのコミットが問題を混入させてしまったのだろうか?」を知りたくなるでしょう。 これを手助けするのが git bisect コマンドです。git bisect コマンドは、二分探索によって問題箇所を特定します。 事前準備 最初に大事なことがひとつあります。それは、「問題がない(good)状態と問題がある(bad)状態を、確実に判定できるようにする」 ことです。 当然のことではありますが、ここがあやふやだと、二分探索をしても問題箇所をうまく特定できません。 可能なら、「テストスクリプトを1つ実行するだけで判定」できるようにしたほうが良いです。このとき、テストスクリプトは、git リポジトリからチェックアウトした作業ツリーに対して実行できるようにします(例えばソースからのビルド処理もテストスクリプトに含めま
gitのコマンドって、コマンド名だけでは動作が想像できないものが多いですよね…。けど、勉強していく中で呪いのように見かける言葉。 『rebaseすんなし』 ドユコトー?ってことでまとめ。 pull = fetch + merge(rebase)! まず。 gitの主な動作はpush・fetch・merge・rebaseで出来ます。 push rebase pullはー?っていうと、fetch して mergeする = pull。 ちなみに、fetch して rebase する = pull --rebase。 要するに、pullは使わなくてOK!ってことです。 使わなくていい理由はこちらの記事が分かりやすかったです。ご参照ください。 Git pullを使うべきでない3つの理由 mergeするとどうなるの? mergeは2種類ある!その1・・・Fast-Forward topicブランチは
Home Subscribe この2行のコマンドを見て((;゚Д゚))ガクブルした経験はないでしょうか? 私は恐怖を感じました。 "remote"と"add"と"origin"と"push"と"master"の意味がわからん!! 人間(というか私は)は、わからないものが3つ以上同時に登場すると、ストレスを感じるものです。 この場合は5つもあるのでものすごいストレスです。 でもご安心を! これから超わかりやすく解説します! git remote add origin ... の意味は? ずばり、 URLに"origin"という短縮名(ニックネーム)を付ける したがって、git remote add unko .... と書いてもかまいません。 慣習上、"origin"という名前が使われることが多いというだけのことです。 そして、ここが重要なのですが 別にニックネームをつけなくてもよい。(
さくらのVPSに git のリモートリポジトリを構築し、ローカルマシン(Mac)から利用するという想定で、環境を構築する手順をまとめてみました。 さくらのVPSは、「さくらのVPS (CentOS 6.3) にLAMP環境を構築」に基づいて、 「3.4. rootによるログイン、パスワードでのログインを禁止(サーバ側)」までの作業を終えているものとします。 まずは、gitのバージョン確認。 ちょっと古いような気もするが、まあよしとしましょう。 $ git --version git version 1.7.1 1. サーバ側(さくらのVPS 49.xx.xx.xx) サーバ側で、空のリモートリポジトリ作成。 git init 実行時に sharedオプションを付けないと、複数人での開発ができなくなるらしいので注意しましょう。 $ sudo mkdir -p /var/git/test_re
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く