Help us understand the problem. What is going on with this article?

最初は better SVN でよい・・・ そんなふうに考えていた時期が俺にもありました

More than 3 years have passed since last update.

前置き

git を覚えたい(覚えないといけない)けどよくわからないとか、慣れてなくて今の状態が把握できなくなったりリポジトリ破壊したりしてしまうという人に。

覚えてほしいこと

箇条書きですいません。

  • git はリモートリポジトリのデータをローカルに複製する
    • リモートの内容がローカルの作業ディレクトリに直接取り込まれるのではなく、作業ディレクトリとは 別に リモートの複製を持っている
    • また、例えば origin/master が指しているものはローカルに複製されたリモートリポジトリの master ブランチの内容であり、リモートリポジトリそのものではない。
      • 意味をわからず git pull を使っていると、わかりづらいし事故りやすい
  • git のブランチは「枝分かれしているそれぞれの枝」のことを指すのではなく、特定のコミットを指す単なる「ポインタ」である
    • HEAD は、現在作業中のローカルブランチへのポインタ
    • コミットすると、HEAD が指しているブランチのみが進む
  • 追跡ブランチという概念を覚える
    • これをちゃんと覚えるまで git pull は使わない
  • 普段使っているコマンドの「本当の意味」「省略しない形」を理解しておく、機械的に覚えない
    • 挙げていくときりが無いですが、例えば
      • git checkout -b branch_name origin/branch_namegit checkout branch_name の違いと使い分けかたとか
      • git push origin :branch_name でなぜリモートブランチが削除されるのかとか

この辺のことを理解すると、事故率が減るんじゃないかなと思います。

後書き

タイトルは、内容と関係ありそうでなさそうですけど、要するに他の VCS とは違うところがあるのだからその違いを意識しないとちゃんと使えませんよ、ということです。

mdstoy
主に「自分用おぼえがき」や「人に説明するためのメモ」を書いていきたい
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