(license)みなさん、こんにちは!SourceTreeのキャプチャを撮りまくってますタカハシ(@ntakahashi0505)です。引き続き非エンジニアのGit初心者向けにGitクライアントツールSourceTreeを使ったバージョン管理の方法をお伝えしていきたいと思います。前回はSourceTreeの使い方と、リポジトリやコミットなどのGitの基本的な部分ついて、こちらの記事でお伝えしました。非エンジニアでもSourceTreeを使えば超簡単にGitでのバージョン管理ができる非エンジニアで初心者でも簡単にGitでのバージョン管理ができるGitクライアントツールSourceTreeの使い方とリポジトリ、コミットなどのGitのバージョン管理の基本についてお伝えしています。tonari-it.com2015.09.22さて、いよいよファイルのバージョンを戻してみたいと思います。一般的にファイルコピーでのバージョン管理ですと、ファイルの中身を見て戻りたいファイルを見つけて...といった作業になりますが、面倒くさいですよね。今回の記事では、SourceTreeによるGitバージョン管理で瞬時に目的のバージョンに戻すリセットの方法についてお伝えします。GitのリセットにはHard、Mixed、Softと3種類ありますので、その使い分けについても簡単に説明をします。目次SourceTreeで2回目のコミット最初のコミットが完了した状態ファイルに変更を加えてステージングに上げるステージされたファイルをコミットする前のコミットにバージョンを戻す方法Hardにコミットをリセットをするコミットがリセットされたことを確認するMixedでコミットをリセットするGitでのHard・Mixed・Softの違いまとめ連載目次:非エンジニアの初心者向けSourceTreeによるGitバージョン管理SourceTreeで2回目のコミットでは前回の状態から続きを進めていきますね。最初のコミットが完了した状態Test1と1行だけ書いたsample.txtというテキストファイルを作成してコミットした状態がこちらです。ファイルに変更を加えてステージングに上げるここで、sample.txtにこのように変更を加えてみます。Test2という1行を追加しました。SourceTreeの作業コピーに変更が反映されますので、チェックして「Indexにステージしたファイル」に移動します。すると右側の箇所に変更箇所が表示されます。ピンクが削除された行、緑が追加された行という見方ですね。今回はTest2を追加しただけですが、Test1もいったん削除されて再度追加されたという解釈をしているようです。どっちでもいいですけど。ステージされたファイルをコミットするここでコミットメッセージ「Text2を追加」などとして「コミット」しますとこのように2つ目のコミットが表示されました。この画面でもこのコミットでどこが変更されたかと見ることができます。diffなどとするそうです。同様にファイルの更新とコミットを繰り返すと、この樹形図の欄に都度コミットが追加されていくことになります。コミットについては慣れましたかね?前のコミットにバージョンを戻す方法Gitではバージョンを元に戻すことをリセットと言います。以前のコミットにリセットをしていく方法をお伝えしていきます。Hardにコミットをリセットをするまず、「ブランチ」→「Master」の画面で戻りたいコミットを選択します。この場合は「Test1を追加」に戻りたいと思います。そこで右クリックをして、メニューから「現在のブランチをこのコミットまでリセット」を選択してください。すると「コミットにリセット...」というウィンドウが開きますので「Hard-全ての作業コピーの変更を破棄する」を選択して「OK」。警告のウィンドウが出ます。何が起きるかわかっていますね?と、空前の衝撃的なメッセージがありますが、遠慮なく「Yes」!コミットがリセットされたことを確認する「ブランチ」→「Master」の画面を確認しますと、「Test2を追加」のコミットが消えていることが確認できます。sample.txtも確認してみますとこのようにText2の行が消えているのが確認できます。コミットIDと書きます。コミットIDはこれです。HEADと書くそうです。使うときが来るかどうかわかりませんが念のため...。MixedでコミットをリセットするではHardではないリセットをするとどうなるのでしょうか。ここで「Mixed-作業コピーの変更はそのままにす」を選択して「OK」。あの恐ろしいメッセージは出ることなく、コミットのリセットが行われます。Hardのときと違うのは「コミットされていない変更があります」との表示。「ファイルステータス」→「作業コピー」を確認してみますと変更がコミットされた直前の状態に戻っていることがわかります。Mixedの場合は「作業コピーの変更はそのままにする」との説明の通り、作業ファイルは更新された状態ですが、コミットだけが取り消されてその直前の状態に戻る、ということになりますね。resetと、オプションを指定しない場合は、デフォルトでmixedのリセットが適用されるようです。GitでのHard・Mixed・Softの違いHard、Mixedとありますので、当然Softというのもあります。Softでリセットした場合はこのように変更がステージングにアップされた状態にリセットされます。それぞれどのように使い分けるかということなんですがコミットメッセージだけ修正してコミットし直したい→Soft変更内容を追加してコミットし直したい→Mixedコミット自体なかったことにしたい→Hardという使い分けが良さそうです。Gitのバージョン管理は全ての履歴を残したほうが良いという概念のもと、Hardのリセットは極力使わないほうが良いという意見もあります。あのメッセージ、おっかないですしね。前のバージョンに戻したいときはどうするかということなんですが、ブランチを切るという方法があります。これについてはまた別の機会にお伝えできればと思います。まとめSourceTreeを使った初心者でもわかる非エンジニア向けGitバージョン管理、今回は2回目以降のコミットおよびコミットのリセットの方法についてお伝えしました。リセットにもSoft、Hard、Mixedと種類がありますので、本記事を参考に都度適したリセットの方法をチョイスして頂ければと思います。次回はこちらの記事です。SourceTreeでバージョン履歴を分岐したりマージしたりする方法Gitバージョン管理において履歴を分岐させるブランチと呼ばれる機能、分岐した履歴を統合するマージと呼ばれる機能について、GitクライアントのSourceTreeを使った方法についてお伝えしていきます。tonari-it.com2015.09.30バージョン履歴を分岐させるブランチ、また分岐したバージョン履歴を統合するマージについてお伝えしています。便利にGitバージョン管理が実現できますよ。プランノーツ代表、コミュニティ「ノンプロ研」主宰。ITで日本の『働く』の価値を上げる!」をテーマに、VBA&GASの開発、講師、執筆などをしております。→詳しいプロフィールはコチラ★ご依頼・ご相談はお気軽にどうぞ!→お問い合わせはコチラ★フォロー頂ければ嬉しいです。「コミュニティ+講座」形式で継続性&教え合える環境も提供。!ノンプログラマーがプログラミングスキルを身に着ける支援ををするコミュニティ。セミナー・もくもく会・Facebookグループのサポートで「自らで学び続ける力をつける」支援、「教え合うことで学びの価値を上げる」場の提供をしています。日々の業務が同じ作業の繰り返しでうんざり...という人におすすめなWindows自動化ソフトUWSCをご紹介します。VBAは難しい!と感じている人はUWSCでパソコンの自動化に入門してみてはいかがでしょうか。2015.12.09PC全般・WindowsWindowsのポチポチ業務を爆速化するPowerShell、ファイルをバックアップするスクリプトの作り方Windowsのポチポチ業務(=マウスを使った業務)を爆速化するPowerShell。実際にデスクトップ1・2~とデスクトップ用フォルダを増やせるフリーソフト「Dexpot」をご紹介。Windows10の仮想デスクトップとは別物です。それぞれのデスクトップに違ったアイコンを置けるので個別の作業環境を複数キープ!まずはインストール手順と必須設定を画像多めでご紹介。日本の中学生は世界でもダントツでPC保有率が低いという悲しいニュースがありました。私は幼い頃に父からパソコンをプレゼントをしてもらいましたので、その経験と結果どうだったかということについて書きました。2015.06.11PC全般・WindowsWindowsのポチポチ業務を爆速化するPowerShell、フォルダを作るスクリプトの作り方Windowsのポチポチ業務(マウスを使った業務)を爆速化できるPowerShell。プログラミングのハードルが高いという方向けにフォルダを作るスクリプト作成方法をお伝えします。2018.10.24PC全般・WindowsF2キーは文字編集...ショートカットキーは横展開で覚えると効率的!Excelのセル編集やWindowsでファイル名編集などのときにとても便利なファンクションキーF2の解説をしつつ、ショートカットの効率的な覚え方である、アプリケーションを横断するという考え方について解説します。「コミュニティ+講座」形式で継続性&教え合える環境も提供。詳細・お申込はこちら隣ITを応援する当ブログを「応援したい!」「役に立ったよ!」というお気持ちを、コチラからお支払いただくことができます。日々更新の活力倍増いたします。※PayPalアカウントが必要です。※金額は変更可能です。Platform23HTML・CSS32iPhone・アプリ29Monaca・スマホアプリ開発7PC全般・Windows86PowerPoint・VBA28Python87RPA1VBScript15Vue.js・JavaScript13WEBサービス・クラウド68WordPress・ブログ88Word・VBA42コミュニティ・イベント109セミナーのお知らせ11チャットワーク72データ分析・アクセス解析40仕事・生産性・働き方73動画配信8商業出版21起業・フリーランス72電子書籍・Kindle3運営会社プランノーツは"IT×働き方改革"をお手伝いする会社です。「コミュニティ+講座」形式で継続性&教え合える環境も提供。詳細・お申込はこちら隣ITを応援する当ブログを「応援したい!」「役に立ったよ!」というお気持ちを、コチラからお支払いただくことができます。日々更新の活力倍増いたします。※PayPalアカウントが必要です。※金額は変更可能です。Platform23HTML・CSS32iPhone・アプリ29Monaca・スマホアプリ開発7PC全般・Windows86PowerPoint・VBA28Python87RPA1VBScript15Vue.js・JavaScript13WEBサービス・クラウド68WordPress・ブログ88Word・VBA42コミュニティ・イベント109セミナーのお知らせ11チャットワーク72データ分析・アクセス解析40仕事・生産性・働き方73動画配信8商業出版21起業・フリーランス72電子書籍・Kindle3運営会社プランノーツは"IT×働き方改革"をお手伝いする会社です。Scriptが「V8ランタイム」をサポート!モダンなECMAScript構文が使えるようになった2020.02.072020.02.08GASでコピーしたGoogleスライドのプレゼンテーションを取得する方法2020.02.052020.02.05Facebookページいつも隣にitのお仕事タイトルとURLをコピーしました。