グローバルナビゲーションへ

本文へ

フッターへ

お役立ち情報Blog



「Git」の基本を押さえて、実務で使えるようになるまで(基本編)

弊社ソリューション事業部では、ほとんど全ての案件でgitを導入してプロジェクトの管理をしております。そこでエンジニア歴間もない筆者が、具体的に実務ではどのように使っているかをお伝えしたく、この記事を書きました。

gitが便利なのは知っていて使ってみたいけど、具体的にどうやって使えばいいのか、また実務ではどのような使われ方をしているのか知りたいという方々に一読頂ければ幸いです。

この基本編では、 GitHub でリモートリポジトリを作成した状況から、ローカルリポジトリで初回コミット・pushするまでの過程を説明するとともに、gitコマンドの基本的かつ最低限のコマンド一覧をまとめました。

前提

筆者の環境

  • wsl2
  • Ubuntu-20.02
  • git version 2.25.1
  • GitHub

準備

1. GitHubでリモートリポジトリを作成する

  1. https://github.co.jp/ にアクセスしてログインする
  2. リモートリポジトリを作成する

2. ローカルでファイルを作成し、初回コミット・pushまでする

画像にあるように、下記コマンドをCLIで入力する。

$ echo "# REPOSITORY_NAME" >> README.md
$ git init
$ git add README.md
$ git commit -m "first commit"
$ git branch -M main
$ git remote add origin https://github.com/USER_NAME/REPOSITORY_NAME.git
$ git push -u origin main
=> Username for 'https://github.com': USER_NAME
   Password for 'https://USER_NAME@github.com': Personal Access Token

出典: GitHub公式(https://github.com/)

3. Personal Access Tokenを発行する

Personal Access Tokenは下記画像で示した手順を参考に発行し、Personal Access Tokenの箇所に貼ってください。

1.


2.


3.


4.


5.


以上でgitコマンドを使うための準備ができました。

gitコマンド一覧

出典: Git (https://git-scm.com/)

今回はオプション等は極力省略させて頂き、最低限のものに絞りました。

  • <>で囲んでいるものは適宜変更してください。例:  git branch <BRANCH_NAME>   git branch develop 
  • or を付けているものはどちらかを使用するという意味です。 例:  git add <FILE_NAME> or .  git add <FILE_NAME>   git add . 

ローカルリポジトリの操作で使うコマンド

git branch <BRANCH_NAME>
<BRANCH_NAME>としてブランチを切る。
git branch -a
ローカルとリモートの全ブランチを表示する。
git checkout <BRANCH_NAME>
<BRANCH_NAME>に移動する。
git status
変更されたファイルの状態を表示する。
git diff
変更されたファイルの変更箇所を表示する。
git stash
変更した箇所を避難させる。
git stash apply
 git stash で避難させた箇所を戻す。
git stash pop
 git stash で避難させた箇所を戻した上でstashから消す。
git add <FILE_NAME> or .
「 . 」の場合は変更したファイル全てを、<FILE_NAME> の場合は指定した <FILE_NAME> のファイルを、ステージングする。
git statusコマンドを叩くと、addされていないファイル達は赤文字※2で、addされたファイル達は緑文字※2で表示される。
git commit -m "<COMMIT_MESSAGE>"
ステージに上がっているファイルを、コミットする。
git merge <BRANCH_NAME>
今いるブランチに<BRANCH_NAME>で指定したブランチの内容を反映する。
git log
今までのコミット履歴と、ブランチの位置を表示する。自分の現在地は HEAD → で確認できる。

※2:色の表記はgitのデフォルト設定を前提としています。

ローカルリポジトリの操作で使うコマンド(取り消し系)

addする前で変更箇所を取り消したい時

git checkout HEAD . or <FILE_NAME>
「 . 」の場合は全ファイルの、<FILE_NAME> の場合は指定したファイルの、変更箇所を取り消して、一個前のcommitの状態に戻す。

addした後でaddを取り消したい時

git reset HEAD . or <FILE_NAME>
「 . 」の場合は全ファイルの、<FILE_NAME> の場合は <FILE_NAME> で指定したファイルの、addを取り消すが、変更箇所はそのまま変更された状態のままにする。
(git statusコマンドを打つと、赤色で対象ファイルが表示される)

commitした後でcommitを取り消したい時

git reset --soft HEAD^
コミットを取り消し、addした後の状態にする。(git statusコマンドを打つと、緑色で対象ファイルが表示される)
git reset HEAD^
コミットを取り消し、addする前の状態にして、変更した箇所は変更されたままにする。(git statusコマンドを打つと、赤色で対象ファイルが表示される)
git reset --hard HEAD^
コミットを取り消しつつ、全ファイルのaddも取り消し、addされる前の変更した箇所もなくなる。1つ前のコミットの状態になる。

追跡対象外ファイル等を消したい時

git clean -f
追跡対象外ファイルは git checkout HEAD . で削除されないので、こちらのコマンドを使う。
git clean -fd
追跡対象外ディレクトリを削除したい時。
git clean -n
追跡対象外ファイル等で削除される対象を確認したい時に使う。

リモートリポジトリとのやり取りで使うコマンド

git push origin <BRANCH_NAME>
ローカルリポジトリでのコミットをリモートリポジトリに反映する。
git fetch -p
リモートリポジトリでの変更情報情報だけをローカルリポジトリに落としてくる。(情報だけ取ってきて変更は反映しない)(-p をつけることで不要なブランチの情報は除ける)
git pull orgin <REMOTE_BRANCH_NAME>
リモートリポジトリでの変更をローカルリポジトリに落としてくる。(変更を反映して、リモートリポジトリに状態を合わせる)

おわりに

今回は、GitHubでのリモートリポジトリを作成した状況から、ローカルリポジトリで初回コミット・pushするまでの過程を説明するとともに、gitコマンドの基本的かつ最低限のコマンド一覧を紹介しました。

次回の実務編では、具体的に実務で使う方法や手順を述べようと思います。

この記事を書いた人

KJG
KJGソリューション事業部 システムエンジニア
大学4年時春に文系就職を辞め、エンジニアになることを決意し、独学でRuby、Ruby on Railsを学習。
約1年間の独学期間を経てアーティスへWebエンジニアとして入社。現在はWebエンジニアとして、主にシステムの開発・運用に従事している。
抽象的なもの、複雑なものを言語化して文章にするのが好きで得意。
この記事のカテゴリ

FOLLOW US

最新の情報をお届けします