-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathgit.txt
More file actions
99 lines (87 loc) · 4.5 KB
/
git.txt
File metadata and controls
99 lines (87 loc) · 4.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
基本操作編
##環境設定
git config --global user.name "JugglerShu"
git config --global user.email shu@jugglershu.net
##ファイルの追加と修正
- ローカルに空のgitリポジトリを作成しなさい git init
- FILE1ファイルを作成し、"EDIT1"とファイルに書き込み、コミットしなさい。コミットメッセージは"COMMIT1"とする git add FILE1; git commit -m"COMMIT1"
- 正しくコミットできたか、ログを表示して確認しなさい git log
- FILE2を作成し"EDIT2"と書き込みコミットしなさい。(コミットメッセージは適当に書いてください)
- 正しくコミットできたか、ログを表示して確認しなさい。
- FILE1とFILE2にそれぞれ"EDIT3"という行を追加し、保存しなさい(コミットしない)
- FILE1の変更だけをコミットしなさい git add FILE1; git commit
- 正しくコミットできたかログを表示して確認しなさい
- FILE1に"EDIT4"という行を追加し保存しなさい。FILE1,FILE2をコミットしなさい git commit -a -m"...."
##ステージングと差分
シナリオ: ここでFILE1に修正が必要になったと状況を仮定します。修正はファイルの先頭に1行、ファイルの最後に1行追加することで完了するものとします。##
- FILE1の先頭行に"EDIT5"を追加し保存しなさい
- FILE1の差分を確認しなさい git diff
- ひとまず、この変更を記録しておくためにFILE1の変更をステージングエリアに上げなさい
- FILE1の差分を確認しなさい git diff -cached
- FILE1の最後に"EDIT6"という行を追加しなさい
- FILE1の差分を確認しなさい。また、コミットされているFILE1と現在のワーキングコピーの内容の差分を確認しなさい git diff --cached HEAD
- FILE1の変更をすべてコミットしなさい(EDIT5とEDIT6)
- コミットが正しく行われたかログを確認しなさい
##ファイルの削除と移動
- git rm
- git mv
やり直し
git commit --amend (ステージングエリアの内容で、最後のコミットを上書き)
git reset
git checkout
シナリオ:FILE1にさらに修正が必要になったと仮定します。EDIT8という行を追加する必要があります。
- FILE1にEDIT8を追記し、コミットしなさい。コミットメッセージは"COMMIT8"としなさい。
- コミットが正しく行われたかログを確認しなさい
シナリオ:ここでこのコミットが間違いだったことが判明します。本来はEDIT7でした。
- FILE1のEDIT8をEDIT7とし、先ほどのコミットを上書きしなさい。コミットメッセージは"COMMIT7"とする(追加コミットではない)
- 先ほどのコミットが消え、新たなコミットになったことを確認しなさい
シナリオ:ここで、最後のコミットメッセージだけを変更する必要がでてきたとします。
- 最後のコミットメッセージCOMMIT7をCOMMIT7 Modifiedに変更しなさい
- ログを表示して、コミットメッセージが書き換えられたことを確認しなさい
- FILE1に適当な変更をいれ、ステージしなさい
- ステージした内容をキャンセルしなさい
- ワーキングコピーの内容を下に戻しなさい(FILE1の最後のコミットの状態に戻しなさい)
ブランチとマージ
pro git ブランチとは
##ブランチの基本操作
- 現在のブランチの状態を確認しなさい
- 新しいブランチ"branch1"を作成しなさい
- 新しいブランチ"branch1"にHEADを移動しなさい
- FILE1を編集し"branch1"を最終行に追記し、コミットしなさい
- HEADをブランチmasterに移動しなさい
- 新しいブランチ"branch2"を作成しなさい
- 新しいブランチ"branch2"にHEADを移動しなさい
- FILE1を編集し"branch2"を最初の行に追記し、コミットしなさい
- HEADをブランチmasterに移動しなさい
- masterに、branch1をマージしなさい
- branch1を削除しなさい(branch2を同様の方法で削除しようともしてみなさい)
- masterにbranch2をマージしなさい
- ログを確認し、branch1,branch2がマージされていることを確認しなさい
- branch2を削除しなさい
##コンフリクト
- branch1を作成しなさい
- FILE1の先頭に"CONFLICT1"を追記しcommitしなさい
- branch1に移動しなさい
- FILE1の先頭に"CONFLIST2"を追記しcommitしなさい
- masterにbranch1をマージしなさい
- マージツールを用いてコンフリクトを解消しなさい
- マージをコミットしなさい
- マージコミットが作成されていることをログで確認しなさい
##rebaseを用いたマージ
高度なやり直し
rebase
- FILE1を編集し"REBASE1"をどこかに書き込み、コミットしなさい。コミットログは"commit rebase 1"としなさい
- FILE1を編集し"REBASE2"をどこかに書き込み、コミットしなさい。コミットログは"commit rebase 2"としなさい
- commit rebase 1のコミットメッセージを"commit rebase 1 edited"としなさい
- REBASE1とREBASE2のコミットの順序を逆にしなさい
リモートリポジトリとリモートブランチ
## Pro git 2.5
## Pro git 3.5
- github環境のセットアップ(トークンの設定)をしなさい
- githubにGitTestリポジトリを作成しなさい
- GitTestリポジトリをcloneし、ローカルに取得しなさい
- 適当なファイルを作成し、コミットしなさい
- git push origin masterとして、masterブランチをpushしなさい
- ローカルに、branch1を作成しなさい
- branch1をリモートリポジトリにpushしなさい
- 別のディレクトリに、GitTestをcloneしなさい