DEV Community

Discussion on: Life-saving git commands

Collapse
 
jingxue profile image
Jing Xue

4 is not correct. git commit --amend will try to amend the last commit by adding not-to-be-commit.txt to it. So after :wq you will have effectively squashed not-to-be-commit.txt to the last commit on the branch.

To undo a file accidentally added to the index, simply do git restore --staged not-to-be-commit.txt.

Collapse
 
imabtiwari profile image
Abhishek S. Sharma • Edited

There are many ways to do that you can simply write this :

git rm --cached not-to-be-commit.txt

And Please try this one too (The —amend command), it always works for me. I practiced each and every command and wrote here. Let me know if you have other suggestions. Thanks !!

Collapse
 
jingxue profile image
Jing Xue

I use --amend everyday to squash changes into the last commit. If you look into the last commit on the branch after doing git --amend, you'll see that the file you didn't want to add has become part of the commit. :-)

git rm --cached would indeed work too, however it is the "old way" of doing it. If you have a recent git version, when you run git status, it would suggest to use git restore --staged.