命令行测试
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
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
|
[root@linux-node1 ~]
# mkdir testing
[root@linux-node1 ~]
#
[root@linux-node1 ~]
# cd testing/
[root@linux-node1 testing]
#
[root@linux-node1 testing]
# git init
Initialized empty Git repository
in
/root/testing/
.git/
[root@linux-node1 testing]
# echo "123" > index.html
[root@linux-node1 testing]
# git add .
[root@linux-node1 testing]
# git commit -m "first commit"
[master (root-commit) b712131] first commit
1
file
changed, 1 insertion(+)
create mode 100644 index.html
[root@linux-node1 testing]
# echo "a file" > a.txt
[root@linux-node1 testing]
# git add .
[root@linux-node1 testing]
# git commit -m "add a.txt"
[master 025e8a3] add a.txt
1
file
changed, 1 insertion(+)
create mode 100644 a.txt
[root@linux-node1 testing]
# echo "b file" > b.txt
[root@linux-node1 testing]
# git add .
[root@linux-node1 testing]
# git commit -m "add b.txt"
[master f4b13b6] add b.txt
1
file
changed, 1 insertion(+)
create mode 100644 b.txt
[root@linux-node1 testing]
# git log
commit f4b13b6d3fc390eacb59e0d6223ac37329d96d6f
Author: xiaoming <xiaoming@163.com>
Date: Thu Dec 21 14:22:36 2017 +0800
add b.txt
commit 025e8a337bfe312065d93b040852ceb532ef6642
Author: xiaoming <xiaoming@163.com>
Date: Thu Dec 21 14:22:12 2017 +0800
add a.txt
commit b712131d81e3224f72f97c76f855e28da413450e
Author: xiaoming <xiaoming@163.com>
Date: Thu Dec 21 14:21:35 2017 +0800
first commit
[root@linux-node1 testing]
# git checkout -b dev
Switched to a new branch
'dev'
[root@linux-node1 testing]
# git status
On branch dev
nothing to commit, working directory clean
[root@linux-node1 testing]
# git log
commit f4b13b6d3fc390eacb59e0d6223ac37329d96d6f
Author: xiaoming <xiaoming@163.com>
Date: Thu Dec 21 14:22:36 2017 +0800
add b.txt
commit 025e8a337bfe312065d93b040852ceb532ef6642
Author: xiaoming <xiaoming@163.com>
Date: Thu Dec 21 14:22:12 2017 +0800
add a.txt
commit b712131d81e3224f72f97c76f855e28da413450e
Author: xiaoming <xiaoming@163.com>
Date: Thu Dec 21 14:21:35 2017 +0800
first commit
[root@linux-node1 testing]
# echo "welcome to beijing" > test1.txt
[root@linux-node1 testing]
# git add .
[root@linux-node1 testing]
# git commit -m "test1"
[dev d224e8c] test1
1
file
changed, 1 insertion(+)
create mode 100644 test1.txt
[root@linux-node1 testing]
# echo "welcome to shanghai" > test2.txt
[root@linux-node1 testing]
# git add .
[root@linux-node1 testing]
# git commit -m "test2"
[dev e254dd5] test2
1
file
changed, 1 insertion(+)
create mode 100644 test2.txt
[root@linux-node1 testing]
# git log
commit e254dd5657d99ed287faf62f74b566a7ac1bf858
Author: xiaoming <xiaoming@163.com>
Date: Thu Dec 21 14:26:01 2017 +0800
test2
commit d224e8cb4a51a65377c8d8eb75c3613b197e47a4
Author: xiaoming <xiaoming@163.com>
Date: Thu Dec 21 14:25:37 2017 +0800
test1
commit f4b13b6d3fc390eacb59e0d6223ac37329d96d6f
Author: xiaoming <xiaoming@163.com>
Date: Thu Dec 21 14:22:36 2017 +0800
add b.txt
commit 025e8a337bfe312065d93b040852ceb532ef6642
Author: xiaoming <xiaoming@163.com>
Date: Thu Dec 21 14:22:12 2017 +0800
add a.txt
commit b712131d81e3224f72f97c76f855e28da413450e
Author: xiaoming <xiaoming@163.com>
Date: Thu Dec 21 14:21:35 2017 +0800
first commit
[root@linux-node1 testing]
# git checkout master
Switched to branch
'master'
[root@linux-node1 testing]
# git status
On branch master
nothing to commit, working directory clean
[root@linux-node1 testing]
# echo "master1" > master1.txt
[root@linux-node1 testing]
# git add .
[root@linux-node1 testing]
# git commit -m "master1"
[master 1ebe653] master1
1
file
changed, 1 insertion(+)
create mode 100644 master1.txt
[root@linux-node1 testing]
# echo "master2" > master2.txt
[root@linux-node1 testing]
# git add .
[root@linux-node1 testing]
# git commit -m "master2"
[master 814b217] master2
1
file
changed, 1 insertion(+)
create mode 100644 master2.txt
[root@linux-node1 testing]
# git log
commit 814b217ae84ca4ad541c36d96e9b3c2744bca849
Author: xiaoming <xiaoming@163.com>
Date: Thu Dec 21 14:28:15 2017 +0800
master2
commit 1ebe65348f73958eeafce158f922d83e386faa78
Author: xiaoming <xiaoming@163.com>
Date: Thu Dec 21 14:27:50 2017 +0800
master1
commit f4b13b6d3fc390eacb59e0d6223ac37329d96d6f
Author: xiaoming <xiaoming@163.com>
Date: Thu Dec 21 14:22:36 2017 +0800
add b.txt
commit 025e8a337bfe312065d93b040852ceb532ef6642
Author: xiaoming <xiaoming@163.com>
Date: Thu Dec 21 14:22:12 2017 +0800
add a.txt
commit b712131d81e3224f72f97c76f855e28da413450e
Author: xiaoming <xiaoming@163.com>
Date: Thu Dec 21 14:21:35 2017 +0800
first commit
[root@linux-node1 testing]
# git merge dev
Merge made by the
'recursive'
strategy.
test1.txt | 1 +
test2.txt | 1 +
2 files changed, 2 insertions(+)
create mode 100644 test1.txt
create mode 100644 test2.txt
[root@linux-node1 testing]
# git log
commit df1da42a6c93152001199d684f01702eb6cb622f
Merge: 814b217 e254dd5
Author: xiaoming <xiaoming@163.com>
Date: Thu Dec 21 14:29:35 2017 +0800
Merge branch
'dev'
commit 814b217ae84ca4ad541c36d96e9b3c2744bca849
Author: xiaoming <xiaoming@163.com>
Date: Thu Dec 21 14:28:15 2017 +0800
master2
commit 1ebe65348f73958eeafce158f922d83e386faa78
Author: xiaoming <xiaoming@163.com>
Date: Thu Dec 21 14:27:50 2017 +0800
master1
commit e254dd5657d99ed287faf62f74b566a7ac1bf858
Author: xiaoming <xiaoming@163.com>
Date: Thu Dec 21 14:26:01 2017 +0800
test2
commit d224e8cb4a51a65377c8d8eb75c3613b197e47a4
Author: xiaoming <xiaoming@163.com>
Date: Thu Dec 21 14:25:37 2017 +0800
test1
commit f4b13b6d3fc390eacb59e0d6223ac37329d96d6f
Author: xiaoming <xiaoming@163.com>
Date: Thu Dec 21 14:22:36 2017 +0800
add b.txt
commit 025e8a337bfe312065d93b040852ceb532ef6642
Author: xiaoming <xiaoming@163.com>
Date: Thu Dec 21 14:22:12 2017 +0800
add a.txt
commit b712131d81e3224f72f97c76f855e28da413450e
Author: xiaoming <xiaoming@163.com>
Date: Thu Dec 21 14:21:35 2017 +0800
first commit
|
此时,整个分支合并图如下:
分支的状态会保留
如果使用git rebase dev,分支合并图如下:
分支的状态会清除
版权声明:原创作品,谢绝转载。否则将追究法律责任
本文转自 IT_外卖小哥 51CTO博客,原文链接:http://blog.51cto.com/jinlong/2052922