プログラミングノート

プログラミングの備忘録です

TortoiseGit ブランチを使って効率的に変更作業を行う 第5回

TortoiseGitを使ってバージョン管理システムを勉強しています。

ブランチの基礎とブランチの作成・切替の操作について書きます。
 

ブランチとは

ひとつづきの変更履歴のことです。

初期ブランチは、masterブランチです。

主軸となる変更履歴から枝分かれさせて、別の変更履歴(ブランチ)を作成することができます。

 

ブランチの作成

変更作業ごとに複数のブランチを作成し、それぞれの作業を並行して進めることもできます。

 

  1. 作業フォルダを右クリックして表示されるメニューで、「TortoiseGit」>「ブランチの作成」をクリックすると、「ブランチを作成」画面が表示されます。
  2. 「ブランチを作成」画面で、「名前」の「ブランチ」にブランチ名を入力します。
  3. 「基点」に主軸となる変更履歴のどの版から枝分かれさせるのか入力します。例えば、「HEAD(master)」を選択すると、masterブランチのHEAD(最後にコミットされた版)から枝分かれします。
  4. 「OK」ボタンをクリックします。

 

作成したブランチを確認します。

作業フォルダを右クリックして表示されるメニューで、「TortoiseGit」>「リファレンスをブラウズ」をクリックすると、「リファレンスをブラウズ」画面が表示され、ブランチ一覧を見ることができます。

 

ブランチの切替(チェックアウト)

ブランチを切り替えることにより、作業フォルダでそれぞれのブランチへの変更作業を行うことができます。

 

ブランチを切り替えると、作業フォルダに切り替えたブランチの最新版の内容が展開されます。
 

  1. 作業フォルダを右クリックして表示されるメニューで、「TortoiseGit」>「切り替え」をクリックすると、「切り替え」画面が表示されます。
  2. 「切り替え」画面で、「切り替え先」に切り替えたいブランチを選択します。
  3. 「OK」ボタンをクリックします。

 

切り替わったことを確認します。

作業フォルダを右クリックして表示されるメニューに、「Gitコミット - >(切り替え先のブランチ名)」が表示されます。

この後コミットをすると、切り替え先のブランチに変更が記録されていきます。

変更した後コミットをしないで、ブランチを切り替えてコミットすると、その変更は切り替えた先のブランチに記録されます。

 

ログ画面からブランチを確認します。

作業フォルダを右クリックして表示されるメニューで、「TortoiseGit」>「ログを表示」をクリックすると、「ログメッセージ」画面が表示されます。

「ログメッセージ」画面で、現在のブランチの最新版は、赤色背景でブランチ名が表示され、その他のブランチの最新版は、緑色背景でブランチ名が表示されます。

 

主軸でないブランチの変更を主軸のブランチに統合(マージ)

 

主軸でないブランチで変更作業を完了したら、主軸のブランチにその変更を統合する必要があります。

 

次回

ブランチに統合する方法を書きます。

 

記事一覧

第1回 はじめてのバージョン管理システム Git

第2回 TortoiseGit Windows(64bit)にTortoiseGitをインストールする

第3回 TortoiseGit ローカルマシン上の作業フォルダの変更履歴を管理する

第4回 TortoiseGit 共有ファイルの変更履歴を管理する

第5回 TortoiseGit ブランチを使って効率的に変更作業を行う

第6回 TortoiseGit ブランチを統合(マージ)する

Googleドキュメントで自動保存された内容を変更履歴から見る

Googleドキュメントのスプレッドシートを使うと、変更するたびに自動保存してくれます。下の方法で変更履歴を表示し、変更履歴から自動保存された内容を見ることができます。

 

スプレッドシートのメニューから、ファイル > 「変更履歴を表示」をクリックします。

 

  • 画面右に、変更履歴が日時順に表示されます。
  • 画面中央に、画面右で選択した版(バージョン)の内容が表示されます。

 

変更履歴はスプレッドシート単位に保存されます。シートが複数ある場合、どのシートの変更か注意が必要です。

 

それぞれの変更の「この版を復元」をクリックすると、スプレッドシートの内容がその版(バージョン)に変更されます。

 

画面上に書かれている「変更履歴」左横の「←」をクリックすると、もとのスプレッドシートに戻れます。

 

画面右下に表示オプションがあります。

  • 「変更を表示」にチェックを入れると、変更箇所が緑色に塗りつぶされます。
  • 「簡略化した版を表示」をクリックすると、一部の変更を省いて変更履歴を表示されます。
  • 「詳細な版を表示」をクリックすると、すべての変更履歴が表示されます。

 

誤って入力し保存してしまったとき、役立つかもしれません。

 

 

記事一覧

第1回 Googleドキュメントで自動保存された内容を変更履歴から見る

第2回 Googleスプレッドシート シートや範囲を誤入力から保護する

第3回 Googleスプレッドシート シートや範囲に入力できるユーザーを制限する

TortoiseGit 共有ファイルの変更履歴を管理する 第4回

複数の人と共有しているファイルを変更する場合、変更を一つの変更履歴にまとめて記録し、中央管理します。

 中央リポジトリを作成

 それぞれのローカルマシンで行った変更を、一つの変更履歴にまとめて記録する場合、変更履歴を保管するための中央リポジトリを、リモートマシンに作成します。

 そして、ローカルマシンから中央リポジトリの変更履歴を取得したり、ローカルマシンから中央リポジトリの変更履歴へ変更を反映します。

  1. 中央リポジトリを作成するフォルダで右クリックして表示されるメニューで「Git ここにリポジトリを作成」をクリックすると、リポジトリ作成画面が表示されます。
  2. リポジトリ作成画面で、Bareを作成(作業ディレクトリーを作りません)にチェックを入れて、「OK」をクリックします。(Bare作成にすると中央管理用の変更履歴が作成されます。)
  3. 「空のGitレポジトリとして初期化しました」が表示されたら、「OK」をクリックします。

中央リポジトリから変更状況を取得

 中央リポジトリから変更状況を取得する方法は2種類あります。

中央リポジトリに保管されているすべての変更状況を取得

 中央リポジトリに保管されているすべての変更状況を取得することを「クローン」と言います。

 クローンは、中央リポジトリに反映されたファイルと中央リポジトリの変更履歴がローカルマシンにコピーされます。

  1. 右クリックして表示されるメニューの「Git クローン(複製)」をクリックすると、クローン画面が表示されます。
  2. クローン画面の「すでに存在するリポジトリをクローン」で、「URL」には、中央リポジトリがあるディレクトリのURLを入力します。「ディレクトリ」には、ローカルマシン上の作業フォルダのパスを入力します。(あらかじめ作業フォルダを作成しておく必要はありません。)
  3. 「OK」をクリックします。
  4. 「成功」が表示されたら、「閉じる」をクリックします。
中央リポジトリに保管されている最新の変更状況を取得

 中央リポジトリに保管されている最新の変更状況を取得することを「フェッチ」と言います。中央リポジトリの変更状況をローカルマシンの作業フォルダに反映することを「マージ」と言います。「プル」という操作を行うと、フェッチをしてマージすることになります。

  1. ローカルマシンの作業フォルダを右クリックして表示されるメニューの「tortoiseGit」>「プル」をクリックすると、プル画面が表示されます。
  2. プル画面にはクローンした時の中央リポジトリ情報が入力されています。「リモート」には、originなどのリモート名が入力されています。「リモートブランチ」には、masterなどのブランチ名が入力されています。
  3. 「OK」をクリックします。
  4. 「成功」が表示されたら、「閉じる」をクリックします。

 作業フォルダの変更状況と中央リポジトリの変更状況で違いがあれば、自動でマージしてくれます。

 他の人が中央リポジトリの変更履歴に変更を反映した箇所と、作業フォルダで変更しコミットした箇所が同じ場合、プルをすると変更の競合が起きます。

 変更の競合が起きると「競合によりプルを失敗しました」という旨のメッセージが表示されます。それは、中央リポジトリの変更状況か作業フォルダの変更状況かどちらを反映するべきかわからず自動でマージできないためです。この場合、手動で変更の競合を解消する必要があります。

作業フォルダの変更を中央リポジトリに反映

 作業フォルダでの変更を中央リポジトリにある変更履歴に反映させることを、「プッシュ」と言います。作業フォルダでコミットした後に、変更をプッシュをします。

  1. ローカルマシンの作業フォルダを右クリックして表示されるメニューで「tortoiseGit」>「プッシュ」をクリックすると、プッシュ画面が表示されます。
  2. プッシュ画面には、クローンした時の中央リポジトリの情報が入力されています。「Ref」の「リモート」には、masterなどのリモートブランチ名が入力されています。「Ref」の「リモート」には、masterなどのローカルブランチ名が入力されています。「宛先」の「リモート」には、originなどのリモート名が入力されています。
  3. 「OK」をクリックします。
  4. 「成功」が表示されたら、「閉じる」をクリックします。

 中央リポジトリにある変更履歴で、プッシュしようとしているファイルが先に変更されている場合プッシュを失敗します。この場合、プルしてから変更しコミットして、再度プッシュする必要があります。

記事一覧

第1回 はじめてのバージョン管理システム Git

第2回 TortoiseGit Windows(64bit)にTortoiseGitをインストールする

第3回 TortoiseGit ローカルマシン上の作業フォルダの変更履歴を管理する

第4回 TortoiseGit 共有ファイルの変更履歴を管理する

第5回 TortoiseGit ブランチを使って効率的に変更作業を行う

第6回 TortoiseGit ブランチを統合(マージ)する

TortoiseGit ローカルマシン上の作業フォルダの変更履歴を管理する 第3回

TortoiseGitを使って、ローカルマシンにある作業フォルダの変更履歴を管理します。

変更履歴を保管する場所を作成

変更履歴を保管する場所を「リポジトリ」と言います。

リポジトリを作業フォルダの中に作成します。

作業フォルダを新規作成した時のみリポジトリを作成します。

  1. 作業フォルダを右クリックして表示されるメニューから「Git ここにリポジトリを作成」をクリックします。
  2. 「Bareを生成」にはチェックをせずに「OK」をクリックします。
  3. リポジトリの作成を完了すると、「チェック緑」印がフォルダのアイコンにつきます。

 変更を変更履歴に記録

変更を変更履歴に記録することを「コミット」と言います。

コミットは作業フォルダで行います。

  1.  作業フォルダでファイルを変更し保存します。
  2. 作業フォルダを右クリックして表示されるメニューから「Gitコミット」をクリックすると、作業フォルダのコミット画面が表示されます。
  3. 「メッセージ」に変更についてのメッセージを入力します。(メッセージは変更履歴に表示されます。)
  4. 「変更した項目」には、作業フォルダにあるファイルで、前回のコミットから変更したファイルが表示されるので、変更を記録したいファイルを選択してチェックを入れます。
  5. 「OK」ボタンをクリックします。変更が記録できれば「成功」と表示されます。

(補足1)「バージョン管理外のファイルを表示」にチェックを入れると、作業フォルダにあるが管理外のファイルを「変更した項目」に含めることができます。

(補足2)管理外のファイルを選択した場合、ファイルが管理対象に追加された後、変更が記録されます。

(補足3)変更の管理状況を表す印があります。

  • 「チェック緑」印 ・・・ 変更を変更履歴に記録済み
  • 「!赤」印 ・・・ 変更を変更履歴に記録できていない
  • 「?青」印 ・・・ 管理対象に追加できていない

 変更履歴を見る

変更履歴を「ログ」と言います。作業フォルダのログが表示されます。

変更は前回コミット時からの差分として記録されていて、その差分を「リビジョン」と言います。

  1. 作業フォルダで右クリックして表示されるメニューから 「TortoiseGit」をクリックします。
  2.  「ログを表示」 をクリックすると、作業フォルダのログ画面が表示されます。
ログ画面

ログ画面は3段構成です。1段目がリビジョン一覧です。2段目がメッセージです。3段目が変更した項目一覧です。

1段目のリビジョン情報と2段目のメッセージでリビジョンを選んだ後、3段目の変更した項目をクリックして、変更した項目の中の変更内容を見ます。

リビジョン一覧
  • アクション、メッセージ、作者、日時が一覧表示されます。
  • アクションには「追加」「変更」などの印が表示されます。
  • メッセージには、コミット時に入力したメッセージの一部が表示されます。
  • 作者には、ユーザー情報で入力した名前が表示されます。
  • 作業フォルダを「ワーキングツリー」と言い、「Working tree changes」は「作業フォルダの変更」のことです。
  • 「master」は作業フォルダの変更履歴のことです。
メッセージ
  • コミット時に入力したメッセージの全文が表示されます。
変更した項目一覧
  • 1段目で選択中のリビジョンで変更した項目が、3段目の変更した項目一覧に表示されます。
  • パス、拡張子、状態、追加した行(行数)、削除した行(行数)が一覧表示されます。
  • パスに表示されている項目をクリックすると、TortoiseGitMerge画面が表示され、変更した項目の中身を見ることができます。
  • TortoiseGitMerge画面には、前回コミット時の内容と今回コミット時の内容が左右に表示されます。差分には色がついていてわかりやすいです。

次回

共有ファイルの変更履歴を管理する場合について書きます。

記事一覧

第1回 はじめてのバージョン管理システム Git

第2回 TortoiseGit Windows(64bit)にTortoiseGitをインストールする

第3回 TortoiseGit ローカルマシン上の作業フォルダの変更履歴を管理する

第4回 TortoiseGit 共有ファイルの変更履歴を管理する

第5回 TortoiseGit ブランチを使って効率的に変更作業を行う

第6回 TortoiseGit ブランチを統合(マージ)する

TortoiseGit Windows(64bit)にTortoiseGitをインストールする 第2回

Windows(64bit)にTortoiseGitをインストールします。

Git を使うために用意するもの

  1. Git
  2. TortoiseGit(Gitクライアント)
  3. TortoiseGitの日本語用ランゲージパック

Git のインストール

  1. 右のURLにアクセスすると、「Downloads」画面が表示されます。https://git-scm.com/downloads
  2. 表示された画面で「Windows」リンクをクリックすると、ダウンロードが開始され、「Downloading Git」画面と「git-2.10.1-64-bit.exeを開く」ウィンドウが表示されます。(バージョンは2016年10月時点で最新のバージョンです)
  3. 「git-2.10.1-64-bit.exeを開く」ウィンドウでファイルを保存します。
  4. 保存したファイルをWクリックして実行すると、「Git 2.10.1 Setup」 ウィザードが起動します。(途中で「次のプログラムにこのコンピュータへの変更を許可しますか?」ウィンドウが表示されたら「はい」をクリックします。)
  5. GNU General Public Licenseに同意するため「Next」をクリックします。
  6. ウィザードで、セットアップに必要な項目を入力しなければいけませんが、変更せずに初期表示の値を入力して、次々と進んでいきました。
  7. 「Install」をクリックし、インストールを開始します。

TortoiseGitのインストール

  1. 右のURLにアクセスすると、「TortoiseGit」画面が表示されます。https://tortoisegit.org/
  2. 表示された画面で「Download」ボタンを押します。
  3. OSに合わせ32bitか64bitを選んで、「Download TortoiseGit 2.3.0 - 64bit」リンクをクリックします。
  4. 「TortoiseGit-2.3.0.0-64bit.msiを開く」ウィンドウが表示されるので、ファイルを保存します。
  5. 保存したファイルをWクリックして実行すると、「TortoiseGit-2.3.0.0(64bit)Setup」ウィザードが起動します。
  6. ウィザードでセットアップに必要な項目を入力しなければいけきませんが、変更せずに初期表示の値を入力して、次々と進んでいきました。
  7. 「Install」をクリックし、インストールを開始します。
  8. インストール完了後、「Finish」をクリックします。

TortoiseGitの日本語用ランゲージパック

  1.  右のURLにアクセスすると、「TortoiseGit」画面が表示されます。https://tortoisegit.org/
  2. JapaneseとOSに合わせ32bitか64bitを選んで、「Setup」リンクをクリックします。
  3. 「TortoiseGit-LanguagePack-2.3.0.0-64bit-ja.msi」ウィンドウでファイルを保存します。
  4. 保存したファイルをWクリックして実行すると、「Japanese Langagepack for TortoiseGit セットアップ」ウィザードが起動します。
  5. 「次へ」をクリックし、インストールを開始します。
  6. インストール完了後、「完了」をクリックします。

ユーザー登録

  1. 右クリックして表示されるメニューで「TortoiseGit」をクリックします。
  2. 「設定」をクリックします。
  3. 設定画面の左側メニューで「Git」をクリックします。
  4. ユーザー情報の名前とメールアドレスを入力し「OK」をクリックします。

登録した名前が変更履歴に表示されます。

次回

TortoiseGitを使って、ローカルマシンにある作業フォルダの変更履歴を管理してみます。

記事一覧

第1回 はじめてのバージョン管理システム Git

第2回 TortoiseGit Windows(64bit)にTortoiseGitをインストールする

第3回 TortoiseGit ローカルマシン上の作業フォルダの変更履歴を管理する

第4回 TortoiseGit 共有ファイルの変更履歴を管理する

第5回 TortoiseGit ブランチを使って効率的に変更作業を行う

第6回 TortoiseGit ブランチを統合(マージ)する

はじめてのバージョン管理システム Git 第1回

はじめに

 バグ修正や機能追加でプログラムを変更した時、ファイルをコピーしコピーしたファイルの名前に変更日付を追加して、変更履歴を管理していました。
 この方法では、手間がかかる上、どこをどのように変更したのか探すのが大変でした。
 そこで、バージョン管理システムについて学ぶことにしました。バージョン管理の用語や基礎を理解し、TortoiseGitの基本操作ができることをめあてとします。

バージョン管理システム『Git』

 バージョン管理システムのGit について調べました。

 Git を使うと、手間をかけずに変更を変更履歴に記録できました。また、変更履歴を見ると、いつ、だれが、どの項目を変更したのかわかりました。さらに、変更した項目の中身を見ると、どこを、どのように変更したのかわかりました。

 ローカルマシンからリモートマシンへファイルをアップロードして他の人とファイルを編集する場合、誤って他の人の変更を上書きしないための機能もありました。

変更を変更履歴に記録しやすい

 ローカルマシンの作業フォルダで「変更を記録する操作」をするだけで、変更者、変更日時、変更内容が変更履歴に記録されます。

 GitクライアントTortoiseGitを使うと、「変更を記録する操作」が行いやすかったです。操作については、「その3 TortoiseGitを使ってローカルマシンにある作業フォルダの変更履歴を管理」で書きます。

 変更履歴から変更を調べやすい

 変更履歴から、変更ごとに、変更者、変更日時、変更内容がわかります。さらに、変更を指定すると、その変更を記録した時、変更した項目がわかります。

 GitクライアントTortoiseGitのログ表示機能を使うと、変更一覧と変更した項目一覧がが見やすかったです。

ログ表示機能については、「その3 TortoiseGitを使ってローカルマシンにある作業フォルダの変更履歴を管理」で書きます。

誤って他の人の変更を上書きしてしまうトラブルを回避

 ローカルマシンからリモートマシンへファイルをアップロードして他の人とファイルを編集する場合、ローカルマシンにある作業フォルダの変更状況とリモートマシンの変更履歴を比較し差分があれば、差分を作業フォルダに取り込んでくれます。

 また、他の人の変更と競合しているために、差分を作業フォルダに取り込めない場合は、警告を表示します。

 誤って他の人の変更を上書きしてしまうというトラブルを回避します。

次回

TortoiseGitを使うため、Windows(64bit)にTortoiseGitをインストールします。

記事一覧

第1回 はじめてのバージョン管理システム Git

第2回 TortoiseGit Windows(64bit)にTortoiseGitをインストールする

第3回 TortoiseGit ローカルマシン上の作業フォルダの変更履歴を管理する

第4回 TortoiseGit 共有ファイルの変更履歴を管理する

第5回 TortoiseGit ブランチを使って効率的に変更作業を行う

第6回 TortoiseGit ブランチを統合(マージ)する