のんびりしているエンジニアの日記

ソフトウェアなどのエンジニア的な何かを書きます。

gitの簡単な使い方、コマンド一覧

Sponsored Links

皆さんこんにちわ
お元気ですか?久々に用心棒エキスを注入して元気です。

さて、本日はgitを使ってみましょう。

gitとはバージョン管理システムです。コミットした地点に戻ったり、履歴を記録したりできます。
いやはや便利なものです。

木のイメージ
f:id:tereka:20140301002443p:plain

インデックスにある履歴のみコミットする。因みにコミットするとこんな感じ
f:id:tereka:20140301002451p:plain

ブランチを操作するのに主に使う。(切り出しとか)

新しいブランチを切り出す

git checkout -b temp/temp
  • bはブランチを作ってtemp/tempに移動します

ブランチの移動

git checkout temp/temp

現在あるブランチを確認する。

git branch

コミットするのに使う主なコマンド

インデックスに登録

git add [file名]
git add .

1番目はファイルをインデックスに登録
2番目は全てのファイルをインデックスに登録

おまけ
git add -n .

git addで追加されるファイルの一覧を見ることができる(インデックスへの追加は行わない)

コミットする。(変更履歴を追加する)

git commit
git commit -m "modified"
  • mをつけるとコミットメッセージを追加して実行できる。

変更したファイル

git status
# On branch master
# Changes not staged for commit:
#   (use "git add/rm <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#   (commit or discard the untracked or modified content in submodules)
#
#	modified:   .DS_Store
#	deleted:    nohup.out
#	deleted:    test.py
#
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#	test_image/

Untracked files

変更履歴の確認

コミットid、Auther 日付などの履歴を確認する

git log
commit 421058a657df3505094c336497238f89c548e259
Author:Tereka
Date:   Fri Feb 28 18:24:06 2014 +0900

    modified

更新があるか確認

git fetch
remote: Counting objects: 7, done.
remote: Compressing objects: 100% (1/1), done.
remote: Total 4 (delta 3), reused 4 (delta 3)
Unpacking objects: 100% (4/4), done.
From https://github.com/ekuseru114/Research
   421058a..87158b6  master     -> origin/master

サーバーにあるマスターと合体

サーバーに更新情報があることを確認し、ローカルで合体させる。

git fetch
git merge origin/master

なんだこれと思う方もいませんが、実はサーバー以外にもローカルにもorigin/masterあるのです。
fetchすることにより、ローカルのorigin/masterが更新されます。
次にmergeでorigin/masterと現在のブランチを合体させます。

めんどくさいので同じことを1コマンドで

git pull

いやぁらくだよお兄さん

ブランチとブランチを合体

git merge 
git rebase

合体するのは同じようなものですが、履歴の残り方が違います。

戻りたいとき

git reset --soft HEAD
git reset --hard HEAD

softはツリー以外、hardはツリーごとHEADに戻る。revertとかあるのですがよくわからん。後にしよう。

多分これぐらいあれば、十分でしょう。
細かいことはまた別の記事で解説します。