gitTweetはじめにこんにちは、クレイの亀井です。ここ最近一気に気温が上がりましたね。プロジェクトではクレイ外部のデザイナーの方と一緒に開発しています。プロジェクトに直接手を加えてプルリクエストを送ってくれます。なんですか?これつけると何が変わるんですか?」と質問がきたのです。する必要があるのか、改めて説明しようとするととても難しく、口頭では説明しきれなくて自分自身の力不足を感じました。コマンドをちゃんと理解する必要があります。ヒャー!この記事では図を交えながら、感覚的に理解できることを目指して説明していきたいと思います。長くなりますが、ファイトです!Gitに慣れていない方はこちらをどうぞ。説明といきたいところですが!今後の説明に使うので、まずはローカルリポジトリとリモートリポジトリについてさらっとおさらいします。ローカルリポジトリとリモートリポジトリという2種類のリポジトリがあります。ローカルリポジトリは作業者のPCにあるリポジトリ、リモートリポジトリは共用のサーバに設置されているリポジトリです。ローカルリポジトリで作業して、適宜リモートリポジトリにプッシュするというのがGitを使った開発の大まかな流れになります。リモート追跡ブランチがあります。ローカルリポジトリの中に「リモート追跡ブランチ」というのがいますが、これはリモートリポジトリのコピーです。説明をしていきたいと思います。「リモートのコピーをローカルにダウンロードする」コマンドです。ローカルのリモート追跡ブランチ(リモートのコピー置き場)にコピーしてくるだけなのでワーキングツリーには何も影響を及ぼしません。fetch上記のコマンドを実行した場合の動きを、図に表してみます。リモートのコピーちょうだいって言うローカルとの差分を見つつ、リモートリポジトリが変更や新規ブランチをリモート追跡ブランチに渡すリモート追跡ブランチが更新されるちなみにこの「リモート追跡ブランチ」とはあくまでリモートの状態を示すもので、ユーザー自身がこのブランチの内容を変更することはできません。fetchコマンドで明示的に行う必要があります。※SourceTreeには自動フェッチ機能があるそうです。形でアクセスできます。今いるブランチに別のブランチの内容を結合させるコマンドです。リモートリポジトリにあるブランチや、ローカルの別のブランチをマージしたいときに使います。ブランチの内容をマージしたいときは、以下のコマンドを使います。ブランチの内容が取り込まれます。マージした場合は「マージコミット」というコミットが積まれます。いう2種類のマージがありますが、ここでは割愛します。わかりやすく解説してくださっている方がいるので、そちらを参照してください。ブランチをマージするには以下のコマンドを実行します。差分が取り込まれます。リモート追跡ブランチのことでしたね。コマンドでリモートのブランチをマージしたい場合は、いったんリモートのコピーをとってきて、そのコピーをマージするという手順になります。時と同じこちらの状態です。リベースしたい場合、以下のようになります。ブランチの上に一時保存していたコミットを乗せます。ブランチの猫には口がなかったのに、リベース後は口がついてますね。うまいことくっつけてくれます。(コンフリクトしたときはエディタを開いて手動で直しましょう。変更を取り込んで別物になったので当然ですね。一致せずプッシュできなくなり(rejectされ)ます。強制的にプッシュできますが、よくわかっていないうちは使わないほうがいいでしょう。)マージは現在のブランチの上に他のブランチの内容を取り込むというかんじですが、リベースは取り込みたいブランチの上に今のブランチの内容を乗せるといったかんじですね。いっぺんに実行するコマンドのことです。セクションで言っていた以下のコマンド。masterとイコールです。フェッチしてからマージするのMENDOIと思うようになったら使いどきです。コマンドのオプションです。rebaseとして実行します。オプションをつけてプルしたほうがマージコミットが作られない&履歴が綺麗になるからです。こちらはいろいろ議論がありまして、(「ログが綺麗になるとしても履歴を書き換えるべきではない」など)いきなりリベースをするとチームの規約に反する場合もありますので、そのあたりは事前にチームの人に確認してください。リモートリポジトリの差分を取り込むほうがいいかもしれません。違いを説明するだけなのに、なんだかとても長くなってしまいました。チームから離れていました。理解が少しでも進めば幸いです。DocBaseDocBaseとはDocBaseとは、成長する組織のための情報共有サービスです。成長とともにメンバーが増加する中でも円滑に情報共有を行うことを可能にします。エンジニア以外のメンバーでも使いやすい仕組み、柔軟な権限設定によって従来の情報共有ツールで起こりがちだった心理的ハードルを下げ、積極的な情報共有と業務の効率化を実現します。date*日本語が含まれない投稿は無視されますのでご注意ください。きず、綺麗にリモートを取り込めます。–rebaseの違いはこちらのサイトで分かりやすく紹介されております。上級者向け?ですが、ブランチ運用の概念についての図解がわかりやすくて良かったです。この記事がわかりやすかったので参考にしてください。fax.0422-26-9781お問い合わせはこちらからどうぞ。