git basic commands
List differences between versions of a file
Differences in content between the working directory and the staging area:
$ git diff [files | --name-only]
Differences in content between the last commit and the staging area:
$ git diff --staged [files | --name-only]
Differences in content between the working directory and the last commit:
$ git diff HEAD [files | --name-only]
NOTES ON OPTIONAL PARAMETERS:
1. 'files'
is a space separated list of files; if none are specified it shows all files that meet the query
2. '--name-only'
shows only the name of the files that meet the query, if not set, it show the actual differences
Show all the modification made in the last commit
$ git show [--name-only] HEAD
Replace the last commit
If you want to modify the last commit you made without creating an additional commit, you have to execute:
$ git commit --amend [-m message]
This command allows you to replace existing files and/or add new ones. In case you want to add a file to the last commit, add the file to the staging area and the execute the command specified above.
If you specify a message, this new message will also replace the one specified in the last commit.
Undo the last commit
In order to undo the last commit and move back all the modifications to the staging area, execute the following command:
$ git reset --soft HEAD^
To undo the last commit and discard all the modifications:
$ git reset --hard HEAD^
Remove files from the staging area
$ git reset [files]
NOTE:
This command does not affect the working area or any previous commit; it’s basically the opposite of the command: 'git add [files]'
Discard all changes in the working directory
Execute the following:
$ git checkout HEAD [files]
Discard unstaged modifications
To discard a specific file:
$ git checkout file
To discard ALL unstaged files (IMPORTANT!: notice the dot at the end of the command):
$ git checkout -- .
Go back to a previous commit
This command puts everything back to the commit specified and deletes all commits performed after that commit:
$ git reset <commit_sha>
(where
Show remote repositories
$ git remote -v
Leave a Reply