git-step-by-step
  • Introduction
  • Git Remote
  • Branch
  • Checkout & Reset
  • SSH Key
  • Branch
  • Diff & Merge
  • Commit
  • Log
  • Rebase
  • Fetch
  • Reflog
  • Tag
  • Stash
  • Configure Sublime for Linux
Powered by GitBook
On this page
  • Checkout Commit
  • Overrite file from remote
  • Revert last commit
  • Hard reset ( dangerious )
  • Clean
  • Undo ( reset files from repo)

Was this helpful?

Checkout & Reset

Checkout Commit

// Get commit hash
D:\work\emclas>git log --oneline -n 3
471f9f7 extra chunk call issue fix
9827818 blank worker call prevented
99e0156 chunkno -1 added

// checkout commit
git checkout 9827818

// make changes, but do not checkout to other branch elase changes would be lost
// to retain changes create new branch out of it
git checkout -b newbranch // now you can checkout to other and merge this to other branch

Overrite file from remote

git checkout <hash> myfile.txt
git commit -m "msg" // git add not required in this case

// undo above change
git checkout HEAD myfile.txt

Revert last commit

// revert to last commit, create new commit , maintain history 
git revert HEAD

git reset myfile.txt ( unstage file, file revert to modified state )
git reset ( unstage multiple file )

git reset --hard // reset all changes, including staged changes

Hard reset ( dangerious )

Still untracked files remains in repo. to clean it use git clean -df

471f9f7 extra chunk call issue fix
9827818 blank worker call prevented
99e0156 chunkno -1 added

git reset --hard 99e0156 // all commits after it is completely gone

Clean

Often used with --hard reset

git clean -f ( remove untracked files)
git clean -df ( remove all untracked file and directory )
git clean -xf ( remove all untracked file and directory even that is listed in .gitignore file )

Undo ( reset files from repo)

git checkout -- . ( all )
git checkout -- index.html ( specific file )
PreviousBranchNextSSH Key

Last updated 4 years ago

Was this helpful?