レッスン 8. ファイルを更新
それでは、ファイルの中身を編集してバージョン管理システムの履歴機能を見ていきましょう。 テキストエディタで git-tutorial01.html を開きます。
操作は、
* 新規の行を2行追加してください。
* h1``の名前を正しく、「``Git Extensions」に変更して下さい。
<li>コミット時は更新内容をログとして記述</li>
<li>バージョン管理システムの更新</li>
<html>
<body>
<h1>Git Extensions チュートリアル</h1>
<ol>
<li>クローンして</li>
<li>ローカルリポジトリを作成</li>
<li>開発作業</li>
<li>コミット</li>
<li>プッシュ</li>
<li>コミット時は更新内容をログとして記述</li>
<li>バージョン管理システムの更新</li>
</ol>
</body>
</html>
ファイルを保存して閉じてください。 ファイルを変更したので Git Extensions のリポジトリ表示画面にある緑の「コミット」が赤の「コミット(1)」に変わりました。
それでは、赤の「コミット(1)」をクリックして下さい。
コミット画面の左上に編集したファイルが表示され、「エンピツ」アイコンが付いています。これはローカルリポジトリ内のファイルに変更があったことを示しています。
このままではコミットすることが出来ませんので、左上ビュー(コミット対象外)から左下ビュー(コミット対象)に移動する必要があります。「ステージに追加(S)」をクリックして下さい。
コミット画面表示後に行った操作として
- 作業リポジトリの変更分「git-tutorial01.html」をコミットするために左下のステージに移動し、コミット対象とする。
- コミットメッセージを記述
続いてコミットを行います。
もう一度同じファイルに以下の行を追加します。
<li>ファイルの更新</li>
今編集しているファイルはリポジトリのファイルより新しい修正が追加されました。
コミットする前にその内容を確認します。
修正内容を確認したらコミットします。更新内容のログを忘れずに入力します。
レッスン 9. ファイルを移動
ファイルの移動は Subversion(SVN) と違いますので注意が必要です。Git は「ファイルの移動」は履歴として残りません。Git のコマンドで git mv <old-filename> <new-filename> がありますがこれは
git mv <old-filename> <new-filename>
これは、以下と同意。
git rm <old-filename>
git add <new-filename>
このように、Git はファイルの移動に関して履歴に残さない点を知っておく必要があります。
実際にやってみましょう。新しいファイルを追加します。“c:¥work¥tutorial-src¥git-repo¥yasai.txt“を新規作成し、追加した後にコミットしました。
Windows エクスプローラーから yasai.txt をドラッグ&ドロップして フォルダb に移動します。
Git Extensions画面から「更新」をクリックして下さい。
以下のように緑「コミット」から赤「コミット(2)」に変わっています。
「コミット(2)」をクリックしてコミット画面を表示します。
ファイルの移動によって、2つの変更が記録されています。
1. yasai.txt の削除と
2. b¥yasai.txt の追加です。
次に「すべてをステージに追加」します。
diff --git a/yasai.txt b/b/yasai.txt
similarity index 100%
rename from yasai.txt
rename to b/yasai.txt
これで、ファイルの移動は完了です。
エクスプローラーからファイルを移動した場合もコミットしなければリポジトリに反映されないことに注意してください。
Git Extensions画面を「更新」してください。
警告
ファイルの移動は git rm の後に git add を実行することと同じです。
レッスン 10. ファイル名を変更
ファイル名の変更もレッスン 9. ファイルを移動と同じです。Windows エクスプローラーからファイル名の変更を行います。(GitのGUIクライアントである、TortoiseGitとは操作が異なることに注意して下さい。TortoiseGitの場合はTortoiseGitのメニューから“名前の変更“を実行します。)
git-tutorial01.html を git-tut01.html に変更しました。
コミットは必要ですので忘れずに実行します。