リポジトリと3つの空間
を作るかし、・・リポジトリという3つの空間を区別します。この区別ができないと、以降のコマンドが全部ややこしくなります。
学習目標
- 空のフォルダをリポジトリにできる
- 他人のリポジトリを自分の PC に複製できる
- 3つの空間の間でファイルがどう動くかを図で説明できる
リポジトリを手に入れる方法は2つです。自分のフォルダをリポジトリにする git init と、既存のリポジトリを丸ごと取ってくる git clone です。どちらも実行するとフォルダの中に .git という隠しディレクトリができます。このフォルダがリポジトリの本体で、すべての履歴と設定がここに入っています。これを消せば履歴は全部消え、これさえあればしておいたファイルはいつでも復元できます(コミットしていない変更は戻りません)。
を使うときは、ファイルが3つの空間のどこにあるかを常に意識する必要があります。ワーキングディレクトリは今エディタで見ている実際のファイルです。ステージングエリア(index)は「今回のコミットに含めるもの」として選んでおく待合室です。リポジトリはコミットで確定し履歴に刻まれた場所です。ファイルは add でワーキングディレクトリからステージングへ、commit でステージングからリポジトリへ移ります。
ステージングという中間段階がある理由は、コミットを選んで詰めるためです。5つのファイルを直していても、そのうち関連する2つだけを選んで1つのコミットにできます。この力が後で履歴を読みやすくし、問題が起きたとき原因のコミットを素早く見つけさせてくれます。
やさしく理解する
旅行の荷造りを思い浮かべてください。ワーキングディレクトリは服が散らかった自分の部屋、ステージングエリアは選んだ物だけを入れる開いたスーツケース、リポジトリはラベルを貼って封をした箱です。git add はスーツケースに入れること、git commit は箱に封をすることです。
このステップで覚えるコマンド
目で読むだけでなく、実際にで打ってみてください。手が覚えて初めて実務で出てきます。
git init- 今のフォルダを新しいリポジトリにします。
.gitができます。 git clone <URL>- を丸ごと複製します。履歴まで全部ついてきます。
git status- 3つの空間の現在の状態を見せます。詰まったら必ず最初にこれを打ちます。
ls -a- 隠しファイルまで表示します。
.gitが本当にできたか目で確かめましょう。
よくある失敗と直し方
ホームフォルダーのような見当違いの場所で git init を実行してしまい、その下のすべてのファイルがリポジトリに入ってしまう失敗です。まず pwd(今いるフォルダーを表示するコマンド)で場所を確かめます。もうやってしまったなら、そのフォルダーで rm -rf .git を実行して、そこにできた .git フォルダーだけを消します。自分のファイルはそのまま残ります。
自分で記録する欄です。ここで採点はしません。
この段階を理解したものとして記録しますか?
まだ取り消せないので、本当に理解できたときだけ記録してください。
理解したものとして記録しました
自分で記録する欄です。ここで採点はしません。