####Here is a list of some basic Git commands to get you going with Git
- Create a new local repository
git init
- Clone an existing repository
git clone [your_repository_url]
- File status about local repository
git status
- Chages to remote[tracked] files
git diff [source_branch] [target_branch]
- Add all changes in commit
git add .
- Add single file in commit
git add -p [your_file_name]
- Commit previously chaged file
git commit
- Commit all local changes
git commit -a
- Add single file in commit
git add -p [your_file_name]
- Amending the most recent commit message in editor
git commit --amend
- Amending the most recent commit message with new message
git commit --amend -m "New commit message"
- See all commit log details
git log
- See commit log details about single file
git log -p [your_file_name]
- Only the commits of a certain author
git log --author=[author_name]
- Compressed log in one line:
git log --pretty=oneline
- Log details only for changes files
git log --name-status
- See all branch
git branch -av
- Switch exisiting branch
git checkout [your_branch_name]
- Create new local branch and switch to new branch
git checkout -b [your_branch_name]
- Delete a local branch
git branch -d [your_branch_name]
- Delete a remote branch
git branch -dr [your_branch_name]
- Add tag on current commit
git tag [your_tag_name]
- See all remote repository url
git remote -v
- See info about remote repository
git remote show [remote_repository_url]
- Add remote repository
git remote add [remote_repository_url]
- Fetch all branch structure from remote
git fetch
- Fetch all changes from remote directory
git pull
git pull [remote] [branch]
- Fetch all changes from remote directory
git push
git push [remote] [branch]
- Publish your tags
git pull --tags
- Merge branch into your current HEAD
git merge [your_branch_name]
- Solve conflics using mergetool
git mergetool
- Rebase with HEAD branch
git rebase [your_branch_name]
- Continue rebase after resolving conflicts
git rebase --continue
- Abort rebase
git rebase --abort
-
Discard all changes in your local branch
git reset --hard HEAD
-
Discard local branch changes for single file
git checkout HEAD [your_file_name]
-
Revert specific commit
git revert [commit_hash]
-
Reset your local branch with specific commit forcefully and discard local changes
git reset --hard [commit_hash]
-
Reset your local branch with specific commit and discard local changes
git reset [commit_hash]
-
Use colorful git output
git config color.ui true