Gitの使い方
※下記の内容に不備がありましたら、コメント頂けると幸いです。また、下記の内容をご使用頂ける場合は自己責任でお願いします。
【目次】
背景
本格的に実務に入る前にGitの復習をしておきます。
内容
GitをPCにインストール
Gitのインストール
$ brew install git
#brewコマンドが使えなければ、XcodeやHomebrewのインストールが必要
Gitのバージョン確認
$ git --version
Gitでディレクトリを管理する(ローカルリポジトリの作成)
$ cd ~/該当ディレクトリ #該当ディレクトリに移動
$ git init
$ ls .git
・該当ディレクトリに「.git」という隠しディレクトリが存在しているかどうかを確認する(隠しディレクトリの「.git」が、該当ディレクトリがバージョンを記録しておく入れ物です。)
・管理されている場合は「HEAD config hooks objects refs」と表示される。管理されていない場合は「ls: .git: No such file or directory」と表示される。
Gitでバージョン管理をする
流れは、変更ファイル群を一時的にインデックスに追加し、それをバージョンとして記録(コミット)します。変更を行ったファイルのうち別のタイミングで記録したいファイルがある場合は、そのファイルを同じタイミングでインデックスに追加してはいけません。
1.どのファイルがインデックスに追加できるのか確認
2.ファイルをインデックスに追加
3.インデックスをコミットする
1.どのファイルがインデックスに追加できるのか確認
$ git status
Untracked files:」以降に、インデックスに追加されていないファイルが表示されます。
2.ファイルをインデックスに追加
$ git add ファイル名
#「git add .」とすると全てのファイルをインデックスに追加できます
この時点で「git status」を使うと、「Changes to be committed:」以降にインデックスに追加されたファイルが表示されます。
3.インデックスをコミットする
$ git commit
全てのコミットがされた状態で「git status」を使うと、「nothing to commit, working tree clean」と表示されます。
ローカルリポジトリをリモートリポジトリと紐づける
※事前にリモートリポジトリの作成が必要です。
$ cd ~/該当リポジトリ
$ git remote add origin リモートリポジトリのURL
$ git remote
origin #originと表示されれば紐付けが完了しています
ローカルリポジトリの作業をリモートリポジトリに反映させる
$ git push origin master
ブランチの作成
$ cd ~/該当リポジトリ
$ git branch -a #ブランチ一覧
$ git checkout master #masterブランチに移動
$ git checkout -b 作成するブランチ名
$ git push -u origin 作成したブランチ名 #ブランチをリモートリポジトリに登録
ブランチでの作業を終えたら、上記を参考に「インデックスへの追加・コミット・リモートリポジトリにプッシュ」を行う。
マージ
$ git merge 取り込みたいブランチ
or
$ git pull origin master #fetchとmergeを組み合わせたようなもの
今後に向けて
今までの開発で使っていたであろうgitコマンドをまとめてみました。
いつもはGitHubDesktopが勝手にやってくれていたのであまり気にしていませんでしたが、次の会社がもしGitHubを使わないなら、Git自体の仕組みを再確認しておいた方が良いと思ったのが事の発端です。
あとは、実際に企業に行ってみて他に必要な知識がありそうであれば、そこを優先的に学習していこうと思います。