Git入門
Gitとは
Gitとはプログラムのソースコードのバージョン管理ツールです.開発する上で,前回の動いていた状態にソースコードを戻したい,開発用とリリース用の別途管理や複数の人がその開発に携わっている,となるとソースコードを管理することが難しくなってきてしまいます.こういう時に,Gitというバージョン管理ツールを利用すると便利になります.
環境
- Windows8.1
Gitのインストール
Gitのインストールはこちらからしてください.
Git for Windows
その他には,GitHubのDesktopバージョンをインストールするとGitもインストールされるようです.
GitHub Desktop - Simple collaboration from your desktop
コマンドラインから以下のコマンドを実行してバージョンが表示されたらGitのインストールは完了です.
Gitの設定
まず初めにユーザ情報を登録します.ここでのユーザ情報は,GitHubやBitbucketなどで登録したユーザ名とメールアドレスを入力した方が良いと思います.
次に,登録したユーザ名とメールアドレスが設定されているかを以下のコマンドを実行して確認します.
これで先ほど設定した情報が表示されればユーザ情報の設定は完了です.
Gitを使う
まず初めに,リポジトリの作成を行います.リポジトリの作成は,GitHubやBitbucketなどのWebサービスを利用します.今回はBitbucket(https://bitbucket.org/)を例として説明します.
まずリポジトリの作成で,git_testというリポジトリを作成します.
その後,リポジトリのページが表示されると思います.そこで,"Command Line"を見ると,何をすればいいのかが書いてありますのでその通り行います.
まず,作業用フォルダを作成します.私の環境では,XAMPPがインストールされているので,XAMPP上に作業用フォルダを作成します.フォルダ名は,なんでもよいです.
git initは初期化,git remote add [shortname] [リモートリポジトリのURL]は,これから使うリモートリポジトリの場所を追加するという意味です.originとは,リポジトリの場所の別名です.
基本的操作
それでは,実際にGitを使ってみましょう.git_testフォルダ内にtest.txtファイルを作成し,以下の内容を書き込み保存しましょう.
Gitの練習
作成したtest.txtファイルをリモートリポジトリに送りたいと思います.手順としては,
- add
- commit
- push
の順で行います.
まず初めにaddです.addはリモートリポジトリにあげるファイル/フォルダを追加します.ここではまだリモートリポジトリではまだ反映されていません.
次にcommitです.commitは実際にaddした内容を反映させるためのコマンドです.-mオプションを付けることでコメントを付けることが出来ます.
最後にpushです.pushはcommitした内容をリモートリポジトリに反映させるコマンドです.このコマンドは,origin(ローカルリポジトリ)からmaster(リモートリポジトリ)にpushするという意味です.このコマンドを実行すると,今回であれば,Bitbucketの方にtest.txtが表示されていると思います.
Mergeをしてみよう
まず初めにBranchの作成をします.Branchは,ちょっとバグの修正を行うためにメインのBranch(master)とは別のBranchを作成して分岐することで,並行して作業を行うことが出来ます.そして,バグの修正を終了した後にmasterのBranchと別のBranchを合流(今回はMerge)したりすることが出来ます.
まず,分岐させるBranchを作成します.git branch [branch名]でBranchを作成することが出来ます.
その後,git branchとすると現在存在するBranchが表示されます.*がついているのは,現在いるBranchを示しています.
では,testのBranchに移動し,変更を加えてみましょう.Branchの移動はgit checkout [branch名]で出来ます.その後,git branchでtestのBranchに移動出来ていることが確認できると思います.
次に,test.txtの編集を行います."Mergeの練習"を追記し,保存しましょう.
Gitの練習 Mergeの練習
その後,基本的操作で説明した
- add
- commit
- push
を実際にやってみましょう.
今回は,pushする相手がmasterからtestに変わっています.
それでは,BitbucketのCommitの方を見てみるとこのようになっています.
masterのbranchでは,"first commit"で止まっていますが,testのbranchでは,今回実行した"コメントの追記"までcommitされていることが分かります.Bitbucketのソースにあるtestのbranchのtest.txtを見てもらうとこのようになっていると思います.
さて,いよいよMergeを行います.今回はmasterのbranchにtestのbranchの内容をMergeしたいと思います.
まず初めに,masterのbranchにgit checkout masterで移動しましょう.
masterのC:\xampp\htdocs\git_test\test.txtを見てみると,
Gitの練習
と書いてあると思います.その後,git merge testでtestのbranchをMergeします.
そうすると,C:\xampp\htdocs\git_test\test.txtを見ると,先ほどは,Mergeの練習と書いていなかったところがmasterでも追記されていることが確認できると思います.その後,同様にadd, commit, pushを行います.
それでは,Bitbucketの方に反映されているかをコミットの欄で見てみましょう.
このように,masterにMergeした後のcommitが確認でき,Bitbucketのソースの欄でMasterのtest.txtを見てみると,Mergeが反映されているのがBitbucketの方でも確認できます.このようにしてMergeを行います.
参考文献
Git - Gitのインストール
Git - 最初のGitの構成
すぐ分かる! git の origin と master ってなんだ? - Qiita
サルでもわかるGit入門 〜バージョン管理を使いこなそう〜 | どこでもプロジェクト管理バックログ
remote に branch を push し、remote から clone したリポジトリの branch を変更して push する - basyura's blog
誰得UNIX: ステージを理解して git をもっと便利に使う
[git] 基本操作(clone、add、commit、pushなど)を覚えて、開発出来るようになる - YoheiM .NET