1 Microsoft Windows [版本 10.0.17134.345] 2 (c) 2018 Microsoft Corporation。保留所有权利。 3 4 C:UserszhangyangDesktopranch>git init 5 Initialized empty Git repository in C:/Users/zhangyang/Desktop/branch/.git/ 6 7 C:UserszhangyangDesktopranch>git commit -m "Init Commit" --allow-empty 8 [master (root-commit) 468be32] Init Commit 9 10 C:UserszhangyangDesktopranch>git commit -m "C1" --allow-empty 11 [master f91e414] C1 12 13 C:UserszhangyangDesktopranch>git commit -m "C2" --allow-empty 14 [master c738d28] C2 15 16 C:UserszhangyangDesktopranch>git commit -m "C3" --allow-empty 17 [master 09c5904] C3 18 19 C:UserszhangyangDesktopranch>git checkout -b branch1 20 Switched to a new branch 'branch1' 21 22 C:UserszhangyangDesktopranch>git commit -m "C4" --allow-empty 23 [branch1 60f5e77] C4 24 25 C:UserszhangyangDesktopranch>git commit -m "C5" --allow-empty 26 [branch1 85a8fe7] C5 27 28 C:UserszhangyangDesktopranch>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:UserszhangyangDesktopranch>git checkout 85a9fe7 37 error: pathspec '85a9fe7' did not match any file(s) known to git. 38 39 C:UserszhangyangDesktopranch>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:UserszhangyangDesktopranch>git commit -m "C6" --allow-empty 54 [detached HEAD 3f0d0e2] C6 55 56 C:UserszhangyangDesktopranch>git commit -m "C7" --allow-empty 57 [detached HEAD 9724be1] C7 58 59 C:UserszhangyangDesktopranch>git commit -m "C8" --allow-empty 60 [detached HEAD ba2e2d2] C8 61 62 C:UserszhangyangDesktopranch>git status 63 HEAD detached from 85a8fe7 64 nothing to commit, working tree clean 65 66 C:UserszhangyangDesktopranch>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:UserszhangyangDesktopranch>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:UserszhangyangDesktopranch>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:UserszhangyangDesktopranch>git checkout -b HEAD 92 fatal: 'HEAD' is not a valid branch name. 93 94 C:UserszhangyangDesktopranch>git checkout -b detached 95 Switched to a new branch 'detached' 96 97 C:UserszhangyangDesktopranch>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:UserszhangyangDesktopranch>git checkout branch1 109 Switched to branch 'branch1' 110 111 C:UserszhangyangDesktopranch>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:UserszhangyangDesktopranch>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:UserszhangyangDesktopranch>git commit --allow-empty 135 [branch1 7edcbff] C8 136 Date: Mon Feb 25 08:14:02 2019 +0800 137 138 C:UserszhangyangDesktopranch>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:UserszhangyangDesktopranch>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:UserszhangyangDesktopranch>git checkout master 161 Switched to branch 'master' 162 163 C:UserszhangyangDesktopranch>git rebase merge branch1 --no-ff 164 fatal: Needed a single revision 165 invalid upstream 'merge' 166 167 C:UserszhangyangDesktopranch>git merge branch1 --no-ff 168 Already up to date! 169 Merge made by the 'recursive' strategy. 170 171 C:UserszhangyangDesktopranch>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:UserszhangyangDesktopranch>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:UserszhangyangDesktopranch>git checkout -b --help 200 fatal: '--help' is not a valid branch name. 201 202 C:UserszhangyangDesktopranch>git checkout --help 203 204 C:UserszhangyangDesktopranch>git checkout -b old 85a8fe7 205 Switched to a new branch 'old' 206 207 C:UserszhangyangDesktopranch>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:UserszhangyangDesktopranch>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:UserszhangyangDesktopranch>git commit --allow-empty 228 [old 11d5930] C8 229 Date: Mon Feb 25 08:14:02 2019 +0800 230 231 C:UserszhangyangDesktopranch>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:UserszhangyangDesktopranch>git reset 85a8fe7 --hard 241 HEAD is now at 85a8fe7 C5 242 243 C:UserszhangyangDesktopranch>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:UserszhangyangDesktopranch>git rebase branch1 252 First, rewinding head to replay your work on top of it... 253 Fast-forwarded old to branch1. 254 255 C:UserszhangyangDesktopranch>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:UserszhangyangDesktopranch>git reset 85a8fe7 --hard 265 HEAD is now at 85a8fe7 C5 266 267 C:UserszhangyangDesktopranch>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:UserszhangyangDesktopranch>git merge branch1 --no-ff 276 Already up to date! 277 Merge made by the 'recursive' strategy. 278 279 C:UserszhangyangDesktopranch>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:UserszhangyangDesktopranch>git reset 85a8fe7 --hard 292 HEAD is now at 85a8fe7 C5 293 294 C:UserszhangyangDesktopranch>git rebase detached 295 First, rewinding head to replay your work on top of it... 296 Fast-forwarded old to detached. 297 298 C:UserszhangyangDesktopranch>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:UserszhangyangDesktopranch>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:UserszhangyangDesktopranch>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:UserszhangyangDesktopranch>git checkout master 337 Switched to branch 'master' 338 339 C:UserszhangyangDesktopranch>git reset 09c5904 --hard 340 HEAD is now at 09c5904 C3 341 342 C:UserszhangyangDesktopranch>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:UserszhangyangDesktopranch>git checkout branch1 356 Switched to branch 'branch1' 357 358 C:UserszhangyangDesktopranch>git reset 85a8fe7 --hard 359 HEAD is now at 85a8fe7 C5 360 361 C:UserszhangyangDesktopranch>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:UserszhangyangDesktopranch>git rebase detached 373 First, rewinding head to replay your work on top of it... 374 Fast-forwarded branch1 to detached. 375 376 C:UserszhangyangDesktopranch>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:UserszhangyangDesktopranch>git checkout master 388 Switched to branch 'master' 389 390 C:UserszhangyangDesktopranch>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:UserszhangyangDesktopranch>git merge branch1 --no-ff 402 Already up to date! 403 Merge made by the 'recursive' strategy. 404 405 C:UserszhangyangDesktopranch>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:UserszhangyangDesktopranch>