• コーディング ファクトリーHOME
  • Coding Methodology
  • 第118回 もっとGitを使いこなそう 〜困った時のGitコマンド編〜

コーディングメソドロジー

第118回 もっとGitを使いこなそう 〜困った時のGitコマンド編〜

GitはもはやWeb制作の現場になくてはならないものですが、複数人で作業していると、「間違って違うブランチで作業していた」「マージしてはいけないタイミングでマージしてしまった」など、焦ってしまったという経験は誰でもあるもの。今回はそんな困った時に使える便利なGitの機能を3つ、SourceTreeでの操作とコマンドで紹介します。

■チェリーピック

他ブランチの特定のコミットを自分のブランチに適用させたいときに使います。

【サンプルケース】
Aブランチで制作しているページにボタンのパーツを入れたいが、そのパーツはBブランチにしかないので、ボタンのコードがコミットされた、コミットID(リビジョン番号)bxxxxxだけ抽出したい。

SourceTreeの操作手順

コマンドでの操作

コマンドでの操作

■リベース

自分のブランチより進んでいる他ブランチのコミットを、まとめて自分のブランチに適用することができます。

【サンプルケース】
developブランチが更新されていることに気づかず、古い状態のAブランチで作業していたので、更新されたdevelopブランチの差分をAブランチに取り込みたい。

SourceTreeの操作手順

コマンドでの操作

コマンドでの操作

■リバート

pushしたコミットに対して、打ち消しコミット(リバートコミット)を生成し、変更を元に戻すことができます。マージコミットをリバートする場合、マージ前のどちらのブランチに戻るのかを指定する必要があり、この操作はSourceTreeではできないためコマンド上で行います。

【サンプルケース】
新規ファイルを追加したコミットを持つAブランチを誤ってdevelopにマージした後、リモートリポジトリにpushしてしまったので、元に戻したい。

コマンドでの操作 ※マージコミットをリバート

SourceTreeの操作手順
コマンドでの操作

※マージコミットをリバートする時は、戻るブランチを-mで指定します。
指定するブランチの番号はコマンド「git show(コミット ID)」で表示される項目、「Merge」の順番と同じ。

リバートすると、追加したファイルを削除した「打ち消しコミット(リバートコミット)」が生成され、マージにより生じた変更を上書きしていることがわかります。リバートはpushしたコミットに対して行うためコミット履歴は残ります。また、pushしていないコミットをもとに戻したい時はリバートではなく「リセット」を使います。

Gitには他にも便利な機能がたくさんあり、多くはSourceTree上で使うことができます。困ったときこそGitが本領発揮するとき。様々なGit機能を使いこなして作業を効率化していきましょう。

  • 大規模サイト制作のご案内 大規模サイトプロジェクトのポイントやサービス内容をご紹介
  • コーディングメソドロジー
  • コーディングファクトリートピックス
  • 受注活動サポートサービス
  • コーディングファクトリーニュース
  • IllustratorでのWebデザイン
  • 求人案内
  • 株式会社モノサス
  • お問い合わせ

    コーディング相談ダイヤル

    お問い合わせ

  • ご相談、お問い合わせフォーム

    ご相談、お問い合わせフォーム