大田区から発信するゆるゆる日記

主にITエンジニアに関する備忘録日記。たまに趣味も。何か不備があればコメント頂けると幸いです。Twitterアカウント https://twitter.com/ryuzan03

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自体の仕組みを再確認しておいた方が良いと思ったのが事の発端です。

 

あとは、実際に企業に行ってみて他に必要な知識がありそうであれば、そこを優先的に学習していこうと思います。