Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
1
Help us understand the problem. What is going on with this article?
@stozaki

MATLABでGitを操作しよう (第3回 : チェックアウト "特定のコミットに戻る")

More than 1 year has passed since last update.

引き続きMATLAB GUIによるGit操作の第3回目

作成環境 MATLAB R2019b

第1回 : プロジェクト作成とGUIの説明
第2回 : git add/git commit
第3回 : チェックアウト "特定のコミットに戻る"
第4回 : ブランチ作成
第5回 : リモートリポジトリとの連携 (git push/git pull)
第6回 : クローンを作成する
第7回 : 応用1
第8回 : 応用2

よく見たら、チェックアウトが抜けていたので、今回はチェックアウト。次回ブランチ作成とさせて頂きます。また、次回はMATLABのAPIを使ってGitとどの様な連携が取れるのか?も紹介予定です。

チェックアウト

① : 特定のコミットに戻る
② : ブランチの切り替え
前者は、「覆水盆に返す」とでも言いましょうか、今回紹介します。
簡単に図示すると次の様なことをMATLAB GUIで実施してみます。
git3_0.png

1.ファイルを更新してコミットを繰り返す

準備として先ず、foo.mとgoofy.mがリポジトリにコミットされている所から話を始めます。
git3_1.png

ここでgoofy.mのファイルを開いてみます。(単なるコメント文のみです)
git3_2.png

次にgoofy.mを編集します。
git3_3.png

Gitのステータスアイコンが青い四角に変わったので、トラッキングしているファイルに変更があったことを意味しています。
git3_4.png

コミットコメントをシンプルに書いて、コミットを実行します。
git3_5.png

再度、goofy.mを編集し、コミットを行います。
git3_6.png

ここまでで、goofy.mは2回変更があったことが、コミットされているはずです。
そこで、「ブランチ」アイコンをクリックしてコミット履歴を確認してみます。
git3_7.png

2.チェックアウト(過去のコミットに戻る)

ブランチブラウザを閉じて、プロジェクトウィンドウで対象となるgoofy.mを右クリックします。
コンテキストメニューから「ソース管理」> 「Gitを使用して元に戻す」をクリックします。
git3_8.png

「ファイルを元に戻す」というウィンドウが起動します。
過去のコミットポイントが一覧で表示されるので、戻したいコミットポイントを選択して、「元に戻す」をクリックします。今回は一番最初の状態に戻してみます。
git3_9.png

goofy.mを開くと、無事に最初の状態に戻っていました。
git3_10.png

3.差分確認

最後に、MATLABの差分ツールを使って、テキストの差分を見てみます。
goofy.mを右クリックし「比較」> 「先祖と比較」をクリックします。

git3_11.png

確かに、チェックアウトしている状態のファイルと最新の状態のファイルのテキスト差分をちゃんと認識していることを確認出来ました。
git3_12.png

誤解の無いように補足すると、Gitはコミット毎にスナップショットを保存しており、ファイル差分を保存しておりません。スナップショット内のファイルからテキストデータを抽出してテキスト差分を表示しています。

1
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
stozaki
こんにちは。Simulink APIはSimulinkというツール内部の動作を理解する上で非常に強力な機能です。この機能を1話5分~10分の読み切りで紹介しようと考えています。ある程度記事がまとまった段階で、サンプルプログラムやサンプルモデルをGitHub等で公開したいと考えております。MATLAB/SimulinkとGit連携についても触れていきたいと考えています。

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
1
Help us understand the problem. What is going on with this article?