1 Microsoft Windows [版本 10.0.17134.345]
2 (c) 2018 Microsoft Corporation。保留所有权利。
3
4 C:\Users\zhangyang\Desktop\branch>git init
5 Initialized empty Git repository in C:/Users/zhangyang/Desktop/branch/.git/
6
7 C:\Users\zhangyang\Desktop\branch>git commit -m "Init Commit" --allow-empty
8 [master (root-commit) 468be32] Init Commit
9
10 C:\Users\zhangyang\Desktop\branch>git commit -m "C1" --allow-empty
11 [master f91e414] C1
12
13 C:\Users\zhangyang\Desktop\branch>git commit -m "C2" --allow-empty
14 [master c738d28] C2
15
16 C:\Users\zhangyang\Desktop\branch>git commit -m "C3" --allow-empty
17 [master 09c5904] C3
18
19 C:\Users\zhangyang\Desktop\branch>git checkout -b branch1
20 Switched to a new branch 'branch1'
21
22 C:\Users\zhangyang\Desktop\branch>git commit -m "C4" --allow-empty
23 [branch1 60f5e77] C4
24
25 C:\Users\zhangyang\Desktop\branch>git commit -m "C5" --allow-empty
26 [branch1 85a8fe7] C5
27
28 C:\Users\zhangyang\Desktop\branch>git log --oneline --decorate --graph --all
29 * 85a8fe7 (HEAD -> branch1) C5
30 * 60f5e77 C4
31 * 09c5904 (master) C3
32 * c738d28 C2
33 * f91e414 C1
34 * 468be32 Init Commit
35
36 C:\Users\zhangyang\Desktop\branch>git checkout 85a9fe7
37 error: pathspec '85a9fe7' did not match any file(s) known to git.
38
39 C:\Users\zhangyang\Desktop\branch>git checkout 85a8fe7
40 Note: checking out '85a8fe7'.
41
42 You are in 'detached HEAD' state. You can look around, make experimental
43 changes and commit them, and you can discard any commits you make in this
44 state without impacting any branches by performing another checkout.
45
46 If you want to create a new branch to retain commits you create, you may
47 do so (now or later) by using -b with the checkout command again. Example:
48
49 git checkout -b <new-branch-name>
50
51 HEAD is now at 85a8fe7 C5
52
53 C:\Users\zhangyang\Desktop\branch>git commit -m "C6" --allow-empty
54 [detached HEAD 3f0d0e2] C6
55
56 C:\Users\zhangyang\Desktop\branch>git commit -m "C7" --allow-empty
57 [detached HEAD 9724be1] C7
58
59 C:\Users\zhangyang\Desktop\branch>git commit -m "C8" --allow-empty
60 [detached HEAD ba2e2d2] C8
61
62 C:\Users\zhangyang\Desktop\branch>git status
63 HEAD detached from 85a8fe7
64 nothing to commit, working tree clean
65
66 C:\Users\zhangyang\Desktop\branch>git log --oneline --decorate --graph --all
67 * ba2e2d2 (HEAD) C8
68 * 9724be1 C7
69 * 3f0d0e2 C6
70 * 85a8fe7 (branch1) C5
71 * 60f5e77 C4
72 * 09c5904 (master) C3
73 * c738d28 C2
74 * f91e414 C1
75 * 468be32 Init Commit
76
77 C:\Users\zhangyang\Desktop\branch>git show 3f0d0e2
78 commit 3f0d0e290a94035f504cb1fb43065b09ed782172
79 Author: yqmcu <yqmcu@foxmail.com>
80 Date: Mon Feb 25 08:13:54 2019 +0800
81
82 C6
83
84 C:\Users\zhangyang\Desktop\branch>git show 85a8fe7
85 commit 85a8fe7ad54cde82285d866536a8d7cd6d74f6cb (branch1)
86 Author: yqmcu <yqmcu@foxmail.com>
87 Date: Mon Feb 25 08:12:41 2019 +0800
88
89 C5
90
91 C:\Users\zhangyang\Desktop\branch>git checkout -b HEAD
92 fatal: 'HEAD' is not a valid branch name.
93
94 C:\Users\zhangyang\Desktop\branch>git checkout -b detached
95 Switched to a new branch 'detached'
96
97 C:\Users\zhangyang\Desktop\branch>git log --oneline --decorate --all --graph
98 * ba2e2d2 (HEAD -> detached) C8
99 * 9724be1 C7
100 * 3f0d0e2 C6
101 * 85a8fe7 (branch1) C5
102 * 60f5e77 C4
103 * 09c5904 (master) C3
104 * c738d28 C2
105 * f91e414 C1
106 * 468be32 Init Commit
107
108 C:\Users\zhangyang\Desktop\branch>git checkout branch1
109 Switched to branch 'branch1'
110
111 C:\Users\zhangyang\Desktop\branch>git cherry-pick detached
112 The previous cherry-pick is now empty, possibly due to conflict resolution.
113 If you wish to commit it anyway, use:
114
115 git commit --allow-empty
116
117 Otherwise, please use 'git reset'
118 On branch branch1
119 You are currently cherry-picking commit ba2e2d2.
120
121 nothing to commit, working tree clean
122
123 C:\Users\zhangyang\Desktop\branch>git log --oneline --decorate --all --graph
124 * ba2e2d2 (detached) C8
125 * 9724be1 C7
126 * 3f0d0e2 C6
127 * 85a8fe7 (HEAD -> branch1) C5
128 * 60f5e77 C4
129 * 09c5904 (master) C3
130 * c738d28 C2
131 * f91e414 C1
132 * 468be32 Init Commit
133
134 C:\Users\zhangyang\Desktop\branch>git commit --allow-empty
135 [branch1 7edcbff] C8
136 Date: Mon Feb 25 08:14:02 2019 +0800
137
138 C:\Users\zhangyang\Desktop\branch>git log --oneline --decorate --all --graph
139 * 7edcbff (HEAD -> branch1) C8
140 | * ba2e2d2 (detached) C8
141 | * 9724be1 C7
142 | * 3f0d0e2 C6
143 |/
144 * 85a8fe7 C5
145 * 60f5e77 C4
146 * 09c5904 (master) C3
147 * c738d28 C2
148 * f91e414 C1
149 * 468be32 Init Commit
150
151 C:\Users\zhangyang\Desktop\branch>git log --oneline --decorate --graph
152 * 7edcbff (HEAD -> branch1) C8
153 * 85a8fe7 C5
154 * 60f5e77 C4
155 * 09c5904 (master) C3
156 * c738d28 C2
157 * f91e414 C1
158 * 468be32 Init Commit
159
160 C:\Users\zhangyang\Desktop\branch>git checkout master
161 Switched to branch 'master'
162
163 C:\Users\zhangyang\Desktop\branch>git rebase merge branch1 --no-ff
164 fatal: Needed a single revision
165 invalid upstream 'merge'
166
167 C:\Users\zhangyang\Desktop\branch>git merge branch1 --no-ff
168 Already up to date!
169 Merge made by the 'recursive' strategy.
170
171 C:\Users\zhangyang\Desktop\branch>git log --oneline --decorate --graph
172 * 6e2328f (HEAD -> master) Merge branch 'branch1'
173 |\
174 | * 7edcbff (branch1) C8
175 | * 85a8fe7 C5
176 | * 60f5e77 C4
177 |/
178 * 09c5904 C3
179 * c738d28 C2
180 * f91e414 C1
181 * 468be32 Init Commit
182
183 C:\Users\zhangyang\Desktop\branch>git log --oneline --decorate --graph --all
184 * 6e2328f (HEAD -> master) Merge branch 'branch1'
185 |\
186 | * 7edcbff (branch1) C8
187 | | * ba2e2d2 (detached) C8
188 | | * 9724be1 C7
189 | | * 3f0d0e2 C6
190 | |/
191 | * 85a8fe7 C5
192 | * 60f5e77 C4
193 |/
194 * 09c5904 C3
195 * c738d28 C2
196 * f91e414 C1
197 * 468be32 Init Commit
198
199 C:\Users\zhangyang\Desktop\branch>git checkout -b --help
200 fatal: '--help' is not a valid branch name.
201
202 C:\Users\zhangyang\Desktop\branch>git checkout --help
203
204 C:\Users\zhangyang\Desktop\branch>git checkout -b old 85a8fe7
205 Switched to a new branch 'old'
206
207 C:\Users\zhangyang\Desktop\branch>git log --oneline --graph
208 * 85a8fe7 (HEAD -> old) C5
209 * 60f5e77 C4
210 * 09c5904 C3
211 * c738d28 C2
212 * f91e414 C1
213 * 468be32 Init Commit
214
215 C:\Users\zhangyang\Desktop\branch>git cherry-pick branch1
216 The previous cherry-pick is now empty, possibly due to conflict resolution.
217 If you wish to commit it anyway, use:
218
219 git commit --allow-empty
220
221 Otherwise, please use 'git reset'
222 On branch old
223 You are currently cherry-picking commit 7edcbff.
224
225 nothing to commit, working tree clean
226
227 C:\Users\zhangyang\Desktop\branch>git commit --allow-empty
228 [old 11d5930] C8
229 Date: Mon Feb 25 08:14:02 2019 +0800
230
231 C:\Users\zhangyang\Desktop\branch>git log --oneline --graph
232 * 11d5930 (HEAD -> old) C8
233 * 85a8fe7 C5
234 * 60f5e77 C4
235 * 09c5904 C3
236 * c738d28 C2
237 * f91e414 C1
238 * 468be32 Init Commit
239
240 C:\Users\zhangyang\Desktop\branch>git reset 85a8fe7 --hard
241 HEAD is now at 85a8fe7 C5
242
243 C:\Users\zhangyang\Desktop\branch>git log --oneline --graph
244 * 85a8fe7 (HEAD -> old) C5
245 * 60f5e77 C4
246 * 09c5904 C3
247 * c738d28 C2
248 * f91e414 C1
249 * 468be32 Init Commit
250
251 C:\Users\zhangyang\Desktop\branch>git rebase branch1
252 First, rewinding head to replay your work on top of it...
253 Fast-forwarded old to branch1.
254
255 C:\Users\zhangyang\Desktop\branch>git log --oneline --graph
256 * 7edcbff (HEAD -> old, branch1) C8
257 * 85a8fe7 C5
258 * 60f5e77 C4
259 * 09c5904 C3
260 * c738d28 C2
261 * f91e414 C1
262 * 468be32 Init Commit
263
264 C:\Users\zhangyang\Desktop\branch>git reset 85a8fe7 --hard
265 HEAD is now at 85a8fe7 C5
266
267 C:\Users\zhangyang\Desktop\branch>git log --oneline --graph
268 * 85a8fe7 (HEAD -> old) C5
269 * 60f5e77 C4
270 * 09c5904 C3
271 * c738d28 C2
272 * f91e414 C1
273 * 468be32 Init Commit
274
275 C:\Users\zhangyang\Desktop\branch>git merge branch1 --no-ff
276 Already up to date!
277 Merge made by the 'recursive' strategy.
278
279 C:\Users\zhangyang\Desktop\branch>git log --oneline --graph
280 * a6aea9e (HEAD -> old) Merge branch 'branch1' into old
281 |\
282 | * 7edcbff (branch1) C8
283 |/
284 * 85a8fe7 C5
285 * 60f5e77 C4
286 * 09c5904 C3
287 * c738d28 C2
288 * f91e414 C1
289 * 468be32 Init Commit
290
291 C:\Users\zhangyang\Desktop\branch>git reset 85a8fe7 --hard
292 HEAD is now at 85a8fe7 C5
293
294 C:\Users\zhangyang\Desktop\branch>git rebase detached
295 First, rewinding head to replay your work on top of it...
296 Fast-forwarded old to detached.
297
298 C:\Users\zhangyang\Desktop\branch>git log --oneline --graph
299 * ba2e2d2 (HEAD -> old, detached) C8
300 * 9724be1 C7
301 * 3f0d0e2 C6
302 * 85a8fe7 C5
303 * 60f5e77 C4
304 * 09c5904 C3
305 * c738d28 C2
306 * f91e414 C1
307 * 468be32 Init Commit
308
309 C:\Users\zhangyang\Desktop\branch>git log --oneline --graph
310 * ba2e2d2 (HEAD -> old, detached) C8
311 * 9724be1 C7
312 * 3f0d0e2 C6
313 * 85a8fe7 C5
314 * 60f5e77 C4
315 * 09c5904 C3
316 * c738d28 C2
317 * f91e414 C1
318 * 468be32 Init Commit
319
320 C:\Users\zhangyang\Desktop\branch>git log --oneline --graph --all --decorate
321 * 6e2328f (master) Merge branch 'branch1'
322 |\
323 | * 7edcbff (branch1) C8
324 | | * ba2e2d2 (HEAD -> old, detached) C8
325 | | * 9724be1 C7
326 | | * 3f0d0e2 C6
327 | |/
328 | * 85a8fe7 C5
329 | * 60f5e77 C4
330 |/
331 * 09c5904 C3
332 * c738d28 C2
333 * f91e414 C1
334 * 468be32 Init Commit
335
336 C:\Users\zhangyang\Desktop\branch>git checkout master
337 Switched to branch 'master'
338
339 C:\Users\zhangyang\Desktop\branch>git reset 09c5904 --hard
340 HEAD is now at 09c5904 C3
341
342 C:\Users\zhangyang\Desktop\branch>git log --oneline --graph --all --decorate
343 * 7edcbff (branch1) C8
344 | * ba2e2d2 (old, detached) C8
345 | * 9724be1 C7
346 | * 3f0d0e2 C6
347 |/
348 * 85a8fe7 C5
349 * 60f5e77 C4
350 * 09c5904 (HEAD -> master) C3
351 * c738d28 C2
352 * f91e414 C1
353 * 468be32 Init Commit
354
355 C:\Users\zhangyang\Desktop\branch>git checkout branch1
356 Switched to branch 'branch1'
357
358 C:\Users\zhangyang\Desktop\branch>git reset 85a8fe7 --hard
359 HEAD is now at 85a8fe7 C5
360
361 C:\Users\zhangyang\Desktop\branch>git log --oneline --graph --all --decorate
362 * ba2e2d2 (old, detached) C8
363 * 9724be1 C7
364 * 3f0d0e2 C6
365 * 85a8fe7 (HEAD -> branch1) C5
366 * 60f5e77 C4
367 * 09c5904 (master) C3
368 * c738d28 C2
369 * f91e414 C1
370 * 468be32 Init Commit
371
372 C:\Users\zhangyang\Desktop\branch>git rebase detached
373 First, rewinding head to replay your work on top of it...
374 Fast-forwarded branch1 to detached.
375
376 C:\Users\zhangyang\Desktop\branch>git log --oneline --graph --all --decorate
377 * ba2e2d2 (HEAD -> branch1, old, detached) C8
378 * 9724be1 C7
379 * 3f0d0e2 C6
380 * 85a8fe7 C5
381 * 60f5e77 C4
382 * 09c5904 (master) C3
383 * c738d28 C2
384 * f91e414 C1
385 * 468be32 Init Commit
386
387 C:\Users\zhangyang\Desktop\branch>git checkout master
388 Switched to branch 'master'
389
390 C:\Users\zhangyang\Desktop\branch>git log --oneline --graph --all --decorate
391 * ba2e2d2 (old, detached, branch1) C8
392 * 9724be1 C7
393 * 3f0d0e2 C6
394 * 85a8fe7 C5
395 * 60f5e77 C4
396 * 09c5904 (HEAD -> master) C3
397 * c738d28 C2
398 * f91e414 C1
399 * 468be32 Init Commit
400
401 C:\Users\zhangyang\Desktop\branch>git merge branch1 --no-ff
402 Already up to date!
403 Merge made by the 'recursive' strategy.
404
405 C:\Users\zhangyang\Desktop\branch>git log --oneline --graph --all --decorate
406 * 6e056d3 (HEAD -> master) Merge branch 'branch1'
407 |\
408 | * ba2e2d2 (old, detached, branch1) C8
409 | * 9724be1 C7
410 | * 3f0d0e2 C6
411 | * 85a8fe7 C5
412 | * 60f5e77 C4
413 |/
414 * 09c5904 C3
415 * c738d28 C2
416 * f91e414 C1
417 * 468be32 Init Commit
418
419 C:\Users\zhangyang\Desktop\branch>