LoginSignup
3

More than 1 year has passed since last update.

posted at

updated at

Gitの基本操作

チーム開発において必須となる「Git」。
当記事では、Gitの運用方法についてまとめます。

基本コマンド

個人開発の場合でも、過去のバージョンに戻ることができて便利なGit。現場では使いこなせないと話にならないという事で、プログラミング学習においてのアウトプットには、すべてGitを使って行うようにしています。

Gitは、Macならターミナルを使用して操作します。
Gitによるバージョン管理に使用するコマンドについて解説します。

git clone

cloneは、GitHubにあるリポジトリからローカルのPCにコピーを作成するコマンドです。

$ cd ディレクトリパス
$ git clone URL

最初に、cdでリポジトリを作成したいディレクトリに移動します。
cloneでリモートリポジトリのURLを指定します。
GitHubのリポジトリ内にあるファイルが作業ディレクトリ(ワークツリー)にコピーされます。

git init

initはローカルリポジトリの初期化コマンドです。

$ git init

initを実行すると「.git」というローカルリポジトリをディレクトリに作成します。
例えば、testディレクトリで実行すると、下記のようになります。

~/D/test ❯❯❯ git init
Initialized empty Git repository in /Users/tetsu/Desktop/test/.git/

「.git」のディレクリが生成され、ステージングエリアとローカルリポジトリという作業領域が準備されます。
対象ディレクトリをGitの管理下に置くことができます。

git add

addは、指定したファイルをステージングエリア(インデックス)に登録するコマンドです。

$ git add ファイル名

ステージングエリアとは、commitしたい変更ファイルを置いておく場所です。
git add .のオプションで、ディレクトリ内の全ファイルを一度にステージングエリアに登録できます。

git commit

commitファイルの変更をローカルリポジトリに登録するコマンドです。

$ git commit --m "変更点、変更理由の記述"

commitは、ファイルをローカルリポジトリに記録するコマンドです。
※ --m を忘れるとデフォルトのエディターとしてVimが立ち上がります。

コミットメッセージ入力後に :wq で保存・終了します。

push

pushは、リモートリポジトリにcommitしたファイルを反映されるコマンドです。

$ git remote add origin https://github.com/ユーザー名/リモートリポジトリ名.git

一番最初は、「.Gitファイル」をリモートリポジトリに関連付けします。

2回目以降は、GitHub上にあるリモートリポジトリにcommitとしたファイルをアップロードできます。

$ git push origin master

ちなみにoriginは、「リモートリポジトリのエイリアス」を指します。

確認コマンド

次に、各コマンドに対する実行結果を確認する方法をみてみましょう。

status

statusは、Gitの現在の状況を確認するコマンドです。

$ git status

Gitの様々な状況をまとめて確認することができます。

On branch master

No commits yet

Untracked files:
  (use "git add ..." to include in what will be committed)

    test.html

nothing added to commit but untracked files present (use "git add" to track)

log

logは、commitの状況を確認できるコマンドです。

$ git log

現在のcommit履歴を詳しく表示させることが出来ます。

commit c08d7124cda5f512c7af2a3c67252f910b439bf5 (HEAD -> master)
Author: ユーザ名 <xxxxx@gmail.com>
Date:   Sun Dec 29 10:45:34 2019 +0900

    create test.html

commitの回数が増えて見にくいときは、

$ git log --oneline 

とすることで1行ずつのスッキリとした表示にできます。

~/D/test ❯❯❯ git log --oneline
c08d712 (HEAD -> master) create test.html

diff

diffは、ファイルの差分を確認するコマンドです。

$ git diff

ブランチをマージする前にファイルの差分を確認するたことができます。
オプションを指定する事で様々な状態の差分を確認することが可能です。

remote

remoteは、リモートリポジトリURLを確認するコマンドです。

$ git remote -v

正常に登録されていれば、リモートリポジトリのURLを返します。

削除コマンド

Gitファイルを削除する際のコマンドを解説します。

rm

rmは、ファイルを削除するコマンドです。

$ git rm ファイル名

ローカルリポジトリのファイルを削除できます。

ブランチの運用

ブランチとは、ひとつのファイルをブランチ(枝)で分岐させて作業するための機能です。

チーム開発において、複数人が同時並行でファイルを変更する際に役立ちます。

ブランチの作成

$ git branch ブランチ名

初期状態は、ブランチが「master」となっています。

Gitは、基本的に「masterが一番正しく、最新のものである」という状態で運用します。

ブランチの移動

$ git checkout ブランチ名

checkoutは、ブランチを切り替えるコマンドです。

$ git branch

現在のブランチを確認することができます。

~/D/test ❯❯❯ git branch
* master

「 * 」がついているのが現在のブランチです。

ブランチで作成・変更したファイルを全てcommitを完了してから、masterにマージします。

git checkout master

masterに対して、マージしたいブレンチ名をコマンドで打ちます。

git merge [ブランチ名]

マージの衝突(CONFLICT)が起きなければ、マージ完了です。masterが最新のものになっているか確認してください。

もしコンフリクトエラーになってしまった場合は、こちらのサイトが参考になりましたのでご参照ください。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
3