はじめに
この記事はGitがを初めて触る人向けに軽くコマンド周りを触りながらよく使う概念の説明をする記事です。
環境構築についてはそんなに難しくないので今回は触れません。
この記事が対象とする人
- Gitが何もわからない人
- Gitを使わざるを得なくなってしまった人
Gitの利点
開発をしていると、機能の追加やデバッグなどでバージョン管理をしなくてはいけない場面に出くわすと思います。そういうとき、新しいファイル1,新しいファイル2,新しいファイル最終版 みたいな管理の仕方、してませんか?
一人ならそれでもいいかもしれませんが、チームになったときにそういう管理の仕方をしてしまうと、後々どれが最終的なファイルなのか分らなくなったりと、いろいろと問題が発生します。
そこでGitを導入すると、いつ、誰が、どの個所を、どのように変更したのかがコメント付きで管理できます。
GitHubに登録しよう
Gitの特徴はチームで開発しているとばらばらになってしまいがちなバージョン管理を、中央のリポジトリを用意して共同で管理できるところにあります。
ということは当然、中央リポジトリがなければGitの利点を生かせないということになります。
しかし心配はご無用、世の中にはGitのリポジトリをホスティングしてくれるサービスがあります。
今回は、その中でも特に有名だと思われるGitHubというサービスを使っていきましょう。
基本的には画面の指示に従えば登録できるはずです。
登録したら、緑色の New repository とか書いてあるボタンを押してリポジトリを作りましょう。今回は練習用にhello-gitという名前で作ります。
ちなみにこのGitHubというサービス、作ったリポジトリにhtmlファイルを置くと静的ページとしてホスティングしてくれるGitHub Pagesというサービスなど、いろいろと面白いサービスがあるので余裕があれば試してみましょう。
リポジトリを作ろう
まずはじめに、今回の練習用にディレクトリを作りましょう
ちなみに今回の記事では基本的にコマンドラインからの操作になります。
Windowsの人はGit for windowsに付属してきたGit Bashから実行してみましょう。
mkdir hello-git
そうしたら、そのディレクトリに入り
cd hello-git
次のコマンドを打ちます。
git init
そうすると、ディレクトリ内部に.gitというファイルが自動的に生成されます。
これで、このディレクトリをGitで管理できるようになりました。
変更をaddしよう
まず、適当なフォルダを作ります。
今回は、markdownでREADMEを書きましょう。(ちなみにmarkdownでREADMEを書いておくと、GitHub上ではきちんと見やすい形にして表示してくれます。)
vim README.md
# hello-git
## what is it?
これは、Gitの練習用のリポジトリです。
ここまで書いたら、次のコマンドを打ちます。
git add README.md
これで、READMEを書いたという変更をgitに教えることができました。
これは、GitHubにPushすることになる、箱にREADMEの変更を入れた、というイメージを持っていただければと思います。
ちなみに、
git add -A
と指定すると全ての変更がaddされます。
変更をcommitしよう
さて、先ほど変更の内容を箱に入れましたが、このままではほかの人が見たときに変更の内容が分かりにくいですよね。
と、いうわけで内容をわかりやすくするために箱にラベルを張りましょう(commit)
次のコマンドを打ちます。
git commit -m'add README'
-mの後の文字列は変更の内容を示します。自由に記述できますが、できればわかりやすい記述を心がけましょう。
また
git commit
で過去のcommit履歴がデフォルトのエディタで開かれます。
変更をpushしよう
最後に、変更の内容をみんなと共有するために、変更を詰めた箱を中央リポジトリまで発送します。(push)
その前に、gitにpush先のリポジトリを教えてあげましょう。
git remote add origin http://github.com/ユーザー名/hello-git
のように指定します。
これは、リモート(遠隔)リポジトリの一つにoriginという名前でリンク先のリポジトリを追加するということです。
次に、指定したリポジトリにpushしましょう
git push -u origin master
初回のみ先のリポジトリにmasterというブランチを作るために -uをつけます。二回目以降は不要です。
これで、GitHubにREADMEが追加されました。
ブランチって?
ところで、先ほどさらっとブランチという言葉をだしましたが、これはいったい何でしょうか?
ブランチというのは「枝」を意味する単語で、その名のように元のリポジトリから枝のように分岐した変更というイメージになります。
ちなみに初期の状態だとmasterのみになります。
言葉だけだとわかりにくいので、実際に作って試してみましょう。
次のように打ちます。
git branch develop
これで、developという名前のブランチが手元に作成されました。
では、そのブランチに入ってみましょう。
git checkout develop
これでdevelopブランチの中に入れます。
現在はmasterブランチから分岐しただけなので特に変わったところはありません、では次にREADMEに変更を加えてみましょう。
# hello-git
## what is it?
これは、Gitの練習用のリポジトリです。
## develop
これはdevelopで加えた変更です。
これを先ほどのようにcommitしてpushします。
git add README.md
git commit -m'add line4-5'
git push -u origin develop
GitHub側にはまだdevelopブランチがないので今回もuをつけます。
すると、GitHubにdevelopというブランチが新たに作成されて、その中に今回の変更分が記述されているでしょう。
実際の開発では、例えば新機能を実装したりするときは、本番のブランチの内容に影響を与えないよう、一度ブランチを分けてから変更を管理するのが一般的です。
また、作った変更をmasterと統合したいときは、masterに戻ってから
git merge develop
と打つとdevelopの内容がmasterに統合されます。
おわり
いかがだったでしょうか(アフィブログ)
この記事を読んでGitの基本的な使い方を知っていただけたら幸いです。
Gitにはほかにもたくさんの便利な機能があるので、時間のある時にそれらの機能の解説もできたらと思います。
ありがとうございました。