Edited at

SVNがわかるけどGitがわからないし長い文章は読みたくない人が、Gitの初歩を一発で理解するポイント

More than 1 year has passed since last update.


困っていたこと

過去にSubversionを使用していたが、

Gitの意味がよくわからなかった。

しかし、思想がつかめれば理解するのは一瞬だった。そしてGitの仕組みに感動。興味さえ湧けば、後は適宜調べるだけ。

このキジはSVNがなんとなくわかる人向けのGitの初歩。


まずは図で理解


分散管理です。

Gitは他のソース管理(通常は集中管理)と違い、分散管理を採用しています。それで大事なことは「サーバーが壊れても、ローカルに全履歴がコピーされている。」ということ。



画像をお借りした元の場所:git 分散バージョン管理システム

つまり・・・


  • サーバーが逝っても、誰かのPCが生きてりゃOK!

  • 誰かが自分のPCとサーバーのソース消しても、他に誰か居ればOK!

  • ネットワークが使えなくても、自分のPC上でコミットできる!


コマンドを理解するための対訳表

色々コマンドがあるが、初歩に必要なコマンドでさえ、ピンとこなかった。

でも、人間語に翻訳してみたら、理解できた


リポジトリを作成する

$ git init

ギット exeに命令 カレントディレクトリをgitのリポジトリにするよ!


  • このリポジトリは、.gitフォルダが作成され、親ディレクトリごと移動しても、特に問題ない。

  • このディレクトリがいわゆるプロジェクトフォルダとなる。


ファイルを管理対象にする

$ git add [filename]

ギット exeに命令 追加するよ ファイル名はこれ!


  • ディレクトリ内部にファイルが作成されただけだと、ただそこにあるだけで対象とならない。

  • そのファイルをGitの管理対象にする。

  • 管理対象にすると、変更を検知する。

  • 管理対象にすることを、インデックスに追加すると云ふのかと思ったら、違うらしい


コミットする。

git commit -m “[comment]”

ギット exeに命令 確定するよ 変更内容はこう!


  • 管理対象のファイルに行われた変更を確定し、自分のローカルリポジトリ内にスナップショットを保存する。

  • なるべく細かくコミットすると、後で戻りやすいし、変更が理解(思い出し)しやすい。


リモートリポジトリを追加する。

> git remote add origin hogehoge.com/git/hogehoge.git

ギット exeに命令 リモート を追加 originと呼ぶ 場所はここだよ


  • 自分のローカルリポジトリを変更したり、コミットしただけでは、特にリモートリポジトリには影響がない。

  • 通常はリモートリポジトリにoriginと言う名前を付ける。(慣習)


覚えておく用語


リポジトリ

repository = 倉庫


  • リモート(通常ベア)とローカル(通常ノンベア)で2種類ある。


ワークツリー

work tree = 作業する木


  • ソースコードなどの実際に作業するファイルが置いてある場所


ブランチについて

branch = 枝


  • 枝分かれさせる場合はブランチ(=枝)を作り、任意の名前を決められる。

  • 本流のブランチ名はmasterと言う名前。(デフォルト)


プッシュ

push = 押す、押し込む、押し付ける


  • ローカルの変更を、リモートに反映(押しつける)


フェッチ

fetch = 取ってくる、呼んでくる、引き出す


  • リモートの変更を、ローカルに取得(引き出す)


マージ

merge = 併合する、溶け合わせる、合併する


  • 異なるブランチを合体する。


クローン

clone = クローン、分枝系


  • リモートリポジトリをコピってローカルリポジトリを作る

  • OSSをもらってきたり、プロジェクトに途中から参加する場合は、最初にやる


参考

Git日本語公式マニュアル

Git 基本の用語集