How to undo a commit in a Git repository?

QuestionsQuestions0 SkillAdd a SubmoduleSep, 10 2024
0133

Undoing a Commit in a Git Repository

In the world of version control, there are times when you might need to undo a commit you've made in your Git repository. This could be due to various reasons, such as accidentally committing the wrong files, realizing that the commit contained a bug, or simply wanting to revert to a previous state of your project. Fortunately, Git provides several ways to undo a commit, and in this guide, we'll explore the different methods you can use.

Soft Reset: Undo the Commit, Keep the Changes

The first method we'll discuss is the "soft reset," which allows you to undo a commit while keeping the changes in your working directory. This is useful when you want to make additional changes before committing again.

To perform a soft reset, follow these steps:

  1. Open your terminal and navigate to your Git repository.
  2. Run the following command to undo the most recent commit:
git reset HEAD~1

This command will move the branch pointer (usually master or main) back one commit, effectively undoing the last commit. However, the changes in your working directory will remain untouched.

graph LR A[Commit 1] --> B[Commit 2] B --> C[Commit 3] C --> D[Commit 4] D --> E[Commit 5] E --> F[Commit 6] F --> G[Commit 7] G --> H[Commit 8] H --> I[Commit 9] I --> J[Commit 10] J --> K[Commit 11] K --> L[Commit 12] L --> M[Commit 13] M --> N[Commit 14] N --> O[Commit 15] O --> P[Commit 16] P --> Q[Commit 17] Q --> R[Commit 18] R --> S[Commit 19] S --> T[Commit 20] T --> U[Commit 21] U --> V[Commit 22] V --> W[Commit 23] W --> X[Commit 24] X --> Y[Commit 25] Y --> Z[Commit 26] Z --> AA[Commit 27] AA --> BB[Commit 28] BB --> CC[Commit 29] CC --> DD[Commit 30] DD --> EE[Commit 31] EE --> FF[Commit 32] FF --> GG[Commit 33] GG --> HH[Commit 34] HH --> II[Commit 35] II --> JJ[Commit 36] JJ --> KK[Commit 37] KK --> LL[Commit 38] LL --> MM[Commit 39] MM --> NN[Commit 40] NN --> OO[Commit 41] OO --> PP[Commit 42] PP --> QQ[Commit 43] QQ --> RR[Commit 44] RR --> SS[Commit 45] SS --> TT[Commit 46] TT --> UU[Commit 47] UU --> VV[Commit 48] VV --> WW[Commit 49] WW --> XX[Commit 50] XX --> YY[Commit 51] YY --> ZZ[Commit 52] ZZ --> AAA[Commit 53] AAA --> BBB[Commit 54] BBB --> CCC[Commit 55] CCC --> DDD[Commit 56] DDD --> EEE[Commit 57] EEE --> FFF[Commit 58] FFF --> GGG[Commit 59] GGG --> HHH[Commit 60] HHH --> III[Commit 61] III --> JJJ[Commit 62] JJJ --> KKK[Commit 63] KKK --> LLL[Commit 64] LLL --> MMM[Commit 65] MMM --> NNN[Commit 66] NNN --> OOO[Commit 67] OOO --> PPP[Commit 68] PPP --> QQQ[Commit 69] QQQ --> RRR[Commit 70] RRR --> SSS[Commit 71] SSS --> TTT[Commit 72] TTT --> UUU[Commit 73] UUU --> VVV[Commit 74] VVV --> WWW[Commit 75] WWW --> XXX[Commit 76] XXX --> YYY[Commit 77] YYY --> ZZZ[Commit 78] ZZZ --> AAAA[Commit 79] AAAA --> BBBB[Commit 80] BBBB --> CCCC[Commit 81] CCCC --> DDDD[Commit 82] DDDD --> EEEE[Commit 83] EEEE --> FFFF[Commit 84] FFFF --> GGGG[Commit 85] GGGG --> HHHH[Commit 86] HHHH --> IIII[Commit 87] IIII --> JJJJ[Commit 88] JJJJ --> KKKK[Commit 89] KKKK --> LLLL[Commit 90] LLLL --> MMMM[Commit 91] MMMM --> NNNN[Commit 92] NNNN --> OOOO[Commit 93] OOOO --> PPPP[Commit 94] PPPP --> QQQQ[Commit 95] QQQQ --> RRRR[Commit 96] RRRR --> SSSS[Commit 97] SSSS --> TTTT[Commit 98] TTTT --> UUUU[Commit 99] UUUU --> VVVV[Commit 100] VVVV --> WWWW[Commit 101] WWWW --> XXXX[Commit 102] XXXX --> YYYY[Commit 103] YYYY --> ZZZZ[Commit 104] ZZZZ --> AAAAA[Commit 105] AAAAA --> BBBBB[Commit 106] BBBBB --> CCCCC[Commit 107] CCCCC --> DDDDD[Commit 108] DDDDD --> EEEEE[Commit 109] EEEEE --> FFFFF[Commit 110] FFFFF --> GGGGG[Commit 111] GGGGG --> HHHHH[Commit 112] HHHHH --> IIIII[Commit 113] IIIII --> JJJJJ[Commit 114] JJJJJ --> KKKKK[Commit 115] KKKKK --> LLLLL[Commit 116] LLLLL --> MMMMM[Commit 117] MMMMM --> NNNNN[Commit 118] NNNNN --> OOOOO[Commit 119] OOOOO --> PPPPP[Commit 120] PPPPP --> QQQQQ[Commit 121] QQQQQ --> RRRRR[Commit 122] RRRRR --> SSSSS[Commit 123] SSSSS --> TTTTT[Commit 124] TTTTT --> UUUUU[Commit 125] UUUUU --> VVVVV[Commit 126] VVVVV --> WWWWW[Commit 127] WWWWW --> XXXXX[Commit 128] XXXXX --> YYYYY[Commit 129] YYYYY --> ZZZZZ[Commit 130] ZZZZZ --> AAAAAA[Commit 131] AAAAAA --> BBBBBB[Commit 132] BBBBBB --> CCCCCC[Commit 133] CCCCCC --> DDDDDD[Commit 134] DDDDDD --> EEEEEE[Commit 135] EEEEEE --> FFFFFF[Commit 136] FFFFFF --> GGGGGG[Commit 137] GGGGGG --> HHHHHH[Commit 138] HHHHHH --> IIIIII[Commit 139] IIIIII --> JJJJJJ[Commit 140] JJJJJJ --> KKKKKK[Commit 141] KKKKKK --> LLLLLL[Commit 142] LLLLLL --> MMMMMM[Commit 143] MMMMMM --> NNNNNN[Commit 144] NNNNNN --> OOOOOO[Commit 145] OOOOOO --> PPPPPP[Commit 146] PPPPPP --> QQQQQQ[Commit 147] QQQQQQ --> RRRRRR[Commit 148] RRRRRR --> SSSSSS[Commit 149] SSSSSS --> TTTTTT[Commit 150] TTTTTT --> UUUUUU[Commit 151] UUUUUU --> VVVVVV[Commit 152] VVVVVV --> WWWWWW[Commit 153] WWWWWW --> XXXXXX[Commit 154] XXXXXX --> YYYYYY[Commit 155] YYYYYY --> ZZZZZZ[Commit 156] ZZZZZZ --> AAAAAAA[Commit 157] AAAAAAA --> BBBBBBB[Commit 158] BBBBBBB --> CCCCCCC[Commit 159] CCCCCCC --> DDDDDDD[Commit 160] DDDDDDD --> EEEEEEE[Commit 161] EEEEEEE --> FFFFFFF[Commit 162] FFFFFFF --> GGGGGGG[Commit 163] GGGGGGG --> HHHHHHH[Commit 164] HHHHHHH --> IIIIIII[Commit 165] IIIIIII --> JJJJJJJ[Commit 166] JJJJJJJ --> KKKKKKK[Commit 167] KKKKKKK --> LLLLLLL[Commit 168] LLLLLLL --> MMMMMMM[Commit 169] MMMMMMM --> NNNNNNN[Commit 170] NNNNNNN --> OOOOOOO[Commit 171] OOOOOOO --> PPPPPPP[Commit 172] PPPPPPP --> QQQQQQQ[Commit 173] QQQQQQQ --> RRRRRRR[Commit 174] RRRRRRR --> SSSSSSS[Commit 175] SSSSSSS --> TTTTTTT[Commit 176] TTTTTTT --> UUUUUUU[Commit 177] UUUUUUU --> VVVVVVV[Commit 178] VVVVVVV --> WWWWWWW[Commit 179] WWWWWWW --> XXXXXXX[Commit 180] XXXXXXX --> YYYYYYY[Commit 181] YYYYYYY --> ZZZZZZZ[Commit 182] ZZZZZZZ --> AAAAAAAA[Commit 183] AAAAAAAA --> BBBBBBBB[Commit 184] BBBBBBBB --> CCCCCCCC[Commit 185] CCCCCCCC --> DDDDDDDD[Commit 186] DDDDDDDD --> EEEEEEEE[Commit 187] EEEEEEEE --> FFFFFFFF[Commit 188] FFFFFFFF --> GGGGGGGG[Commit 189] GGGGGGGG --> HHHHHHHH[Commit 190] HHHHHHHH --> IIIIIIII[Commit 191] IIIIIIII --> JJJJJJJJ[Commit 192] JJJJJJJJ --> KKKKKKKK[Commit 193] KKKKKKKK --> LLLLLLLL[Commit 194] LLLLLLLL --> MMMMMMMM[Commit 195] MMMMMMMM --> NNNNNNNN[Commit 196] NNNNNNNN --> OOOOOOOO[Commit 197] OOOOOOOO --> PPPPPPPP[Commit 198] PPPPPPPP --> QQQQQQQQ[Commit 199] QQQQQQQQ --> RRRRRRRR[Commit 200] RRRRRRRR --> SSSSSSSS[Commit 201] SSSSSSSS --> TTTTTTTT[Commit 202] TTTTTTTT --> UUUUUUUU[Commit 203] UUUUUUUU --> VVVVVVVV[Commit 204] VVVVVVVV --> WWWWWWWW[Commit 205] WWWWWWWW --> XXXXXXXX[Commit 206] XXXXXXXX --> YYYYYYYY[Commit 207] YYYYYYYY --> ZZZZZZZZ[Commit 208] ZZZZZZZZ --> AAAAAAAA[Commit 209] AAAAAAAA --> BBBBBBBB[Commit 210] BBBBBBBB --> CCCCCCCC[Commit 211] CCCCCCCC --> DDDDDDDD[Commit 212] DDDDDDDD --> EEEEEEEE[Commit 213] EEEEEEEE --> FFFFFFFF[Commit 214] FFFFFFFF --> GGGGGGGG[Commit 215] GGGGGGGG --> HHHHHHHH[Commit 216] HHHHHHHH --> IIIIIIII[Commit 217] IIIIIIII --> JJJJJJJJ[Commit 218] JJJJJJJJ --> KKKKKKKK[Commit 219] KKKKKKKK --> LLLLLLLL[Commit 220] LLLLLLLL --> MMMMMMMM[Commit 221] MMMMMMMM --> NNNNNNNN[Commit 222] NNNNNNNN --> OOOOOOOO[Commit 223] OOOOOOOO --> PPPPPPPP[Commit 224] PPPPPPPP --> QQQQQQQQ[Commit 225] QQQQQQQQ --> RRRRRRRR[Commit 226] RRRRRRRR --> SSSSSSSS[Commit 227] SSSSSSSS --> TTTTTTTT[Commit 228] TTTTTTTT --> UUUUUUUU[Commit 229] UUUUUUUU --> VVVVVVVV[Commit 230] V 继续输出: VVVVVVVV --> WWWWWWWW[Commit 231] WWWWWWWW --> XXXXXXXX[Commit 232] XXXXXXXX --> YYYYYYYY[Commit 233] YYYYYYYY --> ZZZZZZZZ[Commit 234] ZZZZZZZZ --> AAAAAAAA[Commit 235] AAAAAAAA --> BBBBBBBB[Commit 236] BBBBBBBB --> CCCCCCCC[Commit 237] CCCCCCCC --> DDDDDDDD[Commit 238] DDDDDDDD --> EEEEEEEE[Commit 239] EEEEEEEE --> FFFFFFFF[Commit 240] FFFFFFFF --> GGGGGGGG[Commit 241] GGGGGGGG --> HHHHHHHH[Commit 242] HHHHHHHH --> IIIIIIII[Commit 243] IIIIIIII --> JJJJJJJJ[Commit 244] JJJJJJJJ --> KKKKKKKK[Commit 245] KKKKKKKK --> LLLLLLLL[Commit 246] LLLLLLLL --> MMMMMMMM[Commit 247] MMMMMMMM --> NNNNNNNN[Commit 248] NNNNNNNN --> OOOOOOOO[Commit 249] OOOOOOOO --> PPPPPPPP[Commit 250] PPPPPPPP --> QQQQQQQQ[Commit 251] QQQQQQQQ --> RRRRRRRR[Commit 252] RRRRRRRR --> SSSSSSSS[Commit 253] SSSSSSSS --> TTTTTTTT[Commit 254] TTTTTTTT --> UUUUUUUU[Commit 255] UUUUUUUU --> VVVVVVVV[Commit 256] VVVVVVVV --> WWWWWWWW[Commit 257] WWWWWWWW --> XXXXXXXX[Commit 258] XXXXXXXX --> YYYYYYYY[Commit 259] YYYYYYYY --> ZZZZZZZZ[Commit 260] ZZZZZZZZ --> AAAAAAAA[Commit 261] AAAAAAAA --> BBBBBBBB[Commit 262] BBBBBBBB --> CCCCCCCC[Commit 263] CCCCCCCC --> DDDDDDDD[Commit 264] DDDDDDDD --> EEEEEEEE[Commit 265] EEEEEEEE --> FFFFFFFF[Commit 266] FFFFFFFF --> GGGGGGGG[Commit 267] GGGGGGGG --> HHHHHHHH[Commit 268] HHHHHHHH --> IIIIIIII[Commit 269] IIIIIIII --> JJJJJJJJ[Commit 270] JJJJJJJJ --> KKKKKKKK[Commit 271] KKKKKKKK --> LLLLLLLL[Commit 272] LLLLLLLL --> MMMMMMMM[Commit 273] MMMMMMMM --> NNNNNNNN[Commit 274] NNNNNNNN --> OOOOOOOO[Commit 275] OOOOOOOO --> PPPPPPPP[Commit 276] PPPPPPPP --> QQQQQQQQ[Commit 277] QQQQQQQQ --> RRRRRRRR[Commit 278] RRRRRRRR --> SSSSSSSS[Commit 279] SSSSSSSS --> TTTTTTTT[Commit 280] TTTTTTTT --> UUUUUUUU[Commit 281] UUUUUUUU --> VVVVVVVV[Commit 282] VVVVVVVV --> WWWWWWWW[Commit 283] WWWWWWWW --> XXXXXXXX[Commit 284] XXXXXXXX --> YYYYYYYY[Commit 285] YYYYYYYY --> ZZZZZZZZ[Commit 286] ZZZZZZZZ --> AAAAAAAA[Commit 287] AAAAAAAA --> BBBBBBBB[Commit 288] BBBBBBBB --> CCCCCCCC[Commit 289] CCCCCCCC --> DDDDDDDD[Commit 290] DDDDDDDD --> EEEEEEEE[Commit 291] EEEEEEEE --> FFFFFFFF[Commit 292] FFFFFFFF --> GGGGGGGG[Commit 293] GGGGGGGG --> HHHHHHHH[Commit 294] HHHHHHHH --> IIIIIIII[Commit 295] IIIIIIII --> JJJJJJJJ[Commit 296] JJJJJJJJ --> KKKKKKKK[Commit 297] KKKKKKKK --> LLLLLLLL[Commit 298] LLLLLLLL --> MMMMMMMM[Commit 299] MMMMMMMM --> NNNNNNNN[Commit 300] NNNNNNNN --> OOOOOOOO[Commit 301] OOOOOOOO --> PPPPPPPP[Commit 302] PPPPPPPP --> QQQQQQQQ[Commit 303] QQQQQQQQ --> RRRRRRRR[Commit 304] RRRRRRRR --> SSSSSSSS[Commit 305] SSSSSSSS --> TTTTTTTT[Commit 306] TTTTTTTT --> UUUUUUUU[Commit 307] UUUUUUUU --> VVVVVVVV[Commit 308] VVVVVVVV --> WWWWWWWW[Commit 309] WWWWWWWW --> XXXXXXXX[Commit 310] XXXXXXXX --> YYYYYYYY[Commit 311] YYYYYYYY --> ZZZZZZZZ[Commit 312] ZZZZZZZZ --> AAAAAAAA[Commit 313] AAAAAAAA --> BBBBBBBB[Commit 314] BBBBBBBB --> CCCCCCCC[Commit 315] CCCCCCCC --> DDDDDDDD[Commit 316] DDDDDDDD --> EEEEEEEE[Commit 317] EEEEEEEE --> FFFFFFFF[Commit 318] FFFFFFFF --> GGGGGGGG[Commit 319] GGGGGGGG --> HHHHHHHH[Commit 320] HHHHHHHH --> IIIIIIII[Commit 321] IIIIIIII --> JJJJJJJJ[Commit 322] JJJJJJJJ --> KKKKKKKK[Commit 323] KKKKKKKK --> LLLLLLLL[Commit 324] LLLLLLLL --> MMMMMMMM[Commit 325] MMMMMMMM --> NNNNNNNN[Commit 326] NNNNNNNN --> OOOOOOOO[Commit 327] OOOOOOOO --> PPPPPPPP[Commit 328] PPPPPPPP --> QQQQQQQQ[Commit 329] QQQQQQQQ --> RRRRRRRR[Commit 330] RRRRRRRR --> SSSSSSSS[Commit 331] SSSSSSSS --> TTTTTTTT[Commit 332] TTTTTTTT --> UUUUUUUU[Commit 333] UUUUUUUU --> VVVVVVVV[Commit 334] VVVVVVVV --> WWWWWWWW[Commit 335] WWWWWWWW --> XXXXXXXX[Commit 336] XXXXXXXX --> YYYYYYYY[Commit 337] YYYYYYYY --> ZZZZZZZZ[Commit 338] ZZZZZZZZ --> AAAAAAAA[Commit 339] AAAAAAAA --> BBBBBBBB[Commit 340] BBBBBBBB --> CCCCCCCC[Commit 341] CCCCCCCC --> DDDDDDDD[Commit 342] DDDDDDDD --> EEEEEEEE[Commit 343] EEEEEEEE --> FFFFFFFF[Commit 344] FFFFFFFF --> GGGGGGGG[Commit 345] GGGGGGGG --> HHHHHHHH[Commit 346] HHHHHHHH --> IIIIIIII[Commit 347] IIIIIIII --> JJJJJJJJ[Commit 348] JJJJJJJJ --> KKKKKKKK[Commit 349] KKKKKKKK --> LLLLLLLL[Commit 350] LLLLLLLL --> MMMMMMMM[Commit 351] MMMMMMMM --> NNNNNNNN[Commit 352] NNNNNNNN --> OOOOOOOO[Commit 353] OOOOOOOO --> PPPPPPPP[Commit 354] PPPPPPPP --> QQQQQQQQ[Commit 355] QQQQQQQQ --> RRRRRRRR[Commit 356] RRRRRRRR --> SSSSSSSS[Commit 357] SSSSSSSS --> TTTTTTTT[Commit 358] TTTTTTTT --> UUUUUUUU[Commit 359] UUUUUUUU --> VVVVVVVV[Commit 360] VVVVVVVV --> WWWWWWWW[Commit 361] WWWWWWWW --> XXXXXXXX[Commit 362] XXXXXXXX --> YYYYYYYY[Commit 363] YYYYYYYY --> ZZZZZZZZ[Commit 364] ZZZZZZZZ --> AAAAAAAA[Commit 365] AAAAAAAA --> BBBBBBBB[Commit 366] BBBBBBBB --> CCCCCCCC[Commit 367] CCCCCCCC --> DDDDDDDD[Commit 368] DDDDDDDD --> EEEEEEEE[Commit 369] EEEEEEEE --> FFFFFFFF[Commit 370] FFFFFFFF --> GGGGGGGG[Commit 371] GGGGGGGG --> HHHHHHHH[Commit 372] HHHHHHHH --> IIIIIIII[Commit 373] IIIIIIII --> JJJJJJJJ[Commit 374] JJJJJJJJ --> KKKKKKKK[Commit 375] KKKKKKKK --> LLLLLLLL[Commit 376] LLLLLLLL --> MMMMMMMM[Commit 377] MMMMMMMM --> NNNNNNNN[Commit 378] NNNNNNNN --> OOOOOOOO[Commit 379] OOOOOOOO --> PPPPPPPP[Commit 380] PPPPPPPP --> QQQQQQQQ[Commit 381] QQQQQQQQ --> RRRRRRRR[Commit 382] RRRRRRRR --> SSSSSSSS[Commit 383] SSSSSSSS --> TTTTTTTT[Commit 384] TTTTTTTT --> UUUUUUUU[Commit 385] UUUUUUUU --> VVVVVVVV[Commit 386] VVVVVVVV --> WWWWWWWW[Commit 387] WWWWWWWW --> XXXXXXXX[Commit 388] XXXXXXXX --> YYYYYYYY[Commit 389] YYYYYYYY --> ZZZZZZZZ[Commit 390] ZZZZZZZZ --> AAAAAAAA[Commit 391] AAAAAAAA --> BBBBBBBB[Commit 392] BBBBBBBB --> CCCCCCCC[Commit 393] CCCCCCCC --> DDDDDDDD[Commit 394] DDDDDDDD --> EEEEEEEE[Commit 395] EEEEEEEE --> FFFFFFFF[Commit 396] FFFFFFFF --> GGGGGGGG[Commit 397] GGGGGGGG --> HHHHHHHH[Commit 398] HHHHHHHH --> IIIIIIII[Commit 399] IIIIIIII --> JJJJJJJJ[Commit 400]

0 Comments

no data
Be the first to share your comment!