ファイルの移動 (git mv)
管理済みのファイルを==移動したい==、==ファイル名を変更したい==場合に使用する。
> git mv test.txt xxx.txt
> git status
On branch master
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
renamed: test.txt -> xxx.txt
これは以下の操作と同じになる(コピーして追加、コピー元を削除)
> cp test.txt xxx.txt
> git add xxx.txt
> git rm test.txt
コミットログの閲覧 (git log)
git log
は、管理リポジトリのコミット履歴を新しい順に、
チェックサム、コミットした人の名称・メールアドレス、日時、コミットメッセージが
表示される。
>git log
commit d613980d6914b15ac96bfc06cfa8cc62a7adafa4
Author: Hoge <hoge@hoge.com>
Date: Fri Jan 27 13:19:02 2017 +0900
rename xx file.
commit 39ad3ba6c5fc0aba2282d99003cc11445a6f3450
Author: Hoge <hoge@hoge.com>
Date: Fri Jan 27 13:15:23 2017 +0900
modified xx file.
commit bf36bed188837c6ccf7ef5e6852cdd6c21657b90
Author: Hoge <hoge@hoge.com>
Date: Fri Jan 27 13:15:04 2017 +0900
first commit
--stat
オプションをつけると、修正ファイルと修正ボリュームを可視化した一覧が表示される。
>git log --stat
commit ad4fa10b01f33f73032ae9775f87f687266b7910
Author: hoge <hoge@hoge.com>
Date: Mon Jul 10 14:53:55 2017 +0900
bugfix xxx
xxx.js | 23 +++++++++++++++++++----
xxx.css | 36 ++++++++++++++++++++++--------------
2 files changed, 41 insertions(+), 18 deletions(-)
commit 604b4a4bc766e7ec3c73f8327a8eb3d3d951c5c4
Author: hoge <hoge@hoge.com>
Date: Thu Jul 6 11:13:13 2017 +0900
bug fix zzz yyy
sv_www.js | 70 +++++++++++++++++++++++++++++++++++++---------------------
1 file changed, 45 insertions(+), 25 deletions(-)
-p
オプションをつけると、変更箇所も表示される。またその後に==負値==を追加すると、
直近から換算した履歴数(-1だと、直前の履歴のみ)だけログが表示される。
> git log -p -1
commit d613980d6914b15ac96bfc06cfa8cc62a7adafa4
Author: Chihiro Doi <ntr-cdoi@mx2.caelum.co.jp>
Date: Fri Jan 27 13:19:02 2017 +0900
rename xx file.
diff --git a/test.txt b/test.txt
deleted file mode 100644
index 5d308e1..0000000
--- a/test.txt
+++ /dev/null
@@ -1 +0,0 @@
--pretty=oneline
を追加すると、1コミット1行で表示される。
> git log --pretty=oneline
d613980d6914b15ac96bfc06cfa8cc62a7adafa4 rename xx file.
39ad3ba6c5fc0aba2282d99003cc11445a6f3450 modified xx file.
bf36bed188837c6ccf7ef5e6852cdd6c21657b90 first commit
またフォーマットを指定したり、--graphでアスキーグラフを追加して、 ブランチの追加やマージが視覚的に表示される。
> git log --pretty=format:"%h %an %ad %s" --graph
* d613980 Chihiro Doi Fri Jan 27 13:19:02 2017 +0900 rename xx file.
* 39ad3ba Chihiro Doi Fri Jan 27 13:15:23 2017 +0900 modified xx file.
* bf36bed Chihiro Doi Fri Jan 27 13:15:04 2017 +0900 first commit
フォーマットの一部抜粋
フォーマット | 内容 |
---|---|
%H | コミットのハッシュ |
%h | コミットのハッシュ(短縮版) |
%an | Author名 |
%ae | Authorのメールアドレス |
%ad | Authorのコミット日付 |
タグ
タグの参照と検索
指定しない場合は、タグが一覧表示される。オプションをつけて部分一致するタグ名を列挙することも可能。
git tag git tag -l 'keyword'
タグの作成
==軽量版==と==アノテーション付き==があるが、通常は、アノテーション付きで行う。
git tag -a (tag name) -m "(message)"
軽量版は、オプションなしで作成
git tag (tag name)
タグの詳細表示
タグ名を指定して
git show
を実行する。git show (tag name)
過去のコミットに対してタグを作成したい
コミットのチェックサムを指定してタグを付与する。 チェックサムは、短縮名でも良い。
> git log --pretty=oneline ca82a6dff817ec66f44342007202690a93763949 changed the version number 085bb3bcb608e1e8451d4b2432f8ecbe6306e7e7 removed unnecessary test code a11bef06a3f659402fe7563abf99ad00de2209e6 first commit > git tag -a tag_v01 085bb3bcb608e1e8451d4b2432f8ecbe6306e7e7
また、タグ情報は、リモートへpushされない。タグ情報をリモートにアップロード する場合は、以下のようにタグ名を指定する。 また、すべてのタグ情報をアップロードする場合は、
--tags
オプションでpushする。> git push origin (tag name) > git push origin —tags