Git vs SVN popularity:
git commands
git status git commit -a git push git pull
Local Changes
Changed files in your working directory:
git status
Changes to tracked files:
git diff
View changes in file.txt:
git diff path/to/file.txt
Add all changes to the next commit:
git add .
Commit all staged changes:
git commit -m "Added header - JIRA-777"
Commit History
Show all commits, starting with newest:
git log
Show changes for a file.txt
git log -p path/to/file.txt
Show log in shorter view:
git log --oneline
Who changed what in file.txt
git blame path/to/file.txt
Branches & Tags
List all branches:
git branch -av
Switch to develop branch:
git checkout develop
Create new branch based on your current HEAD (based upon whatever branch you were on):
git branch new_branch
Delete local branch:
git branch -d branch-name
Delete local branch even if it is not fully merged:
dit branch -D branch-name
Merge & Rebase
Rebase commits on top of develop branch:
git pull --rebase origin develop
Continue the rebase (Add file with "git add path/to/file.txt" after resolving conflicts in the file):
git rebase --continue
Abort the rebase:
git rebase --abort
Advanced
Squash number of commits:
- git rebase -i HEAD~2
- git push --force
Working with stash
Save changes to stach:
git stash save "Updated code"
Show list of changes in stash:
git stash list
Apply stash with ID=0:
git stash apply stash@{0}
Delete stash with ID=0:
git stash drop stash@{0}
Searching in Git
Search in repository:
git grep "Search string"
Search 'target' in /custom/folder:
grep "target" /custom/folder
Search 'target' in any case (i.e. case insensitive search):
grep -i "target"
Search 'target' or 'other':
grep -E "target|other"
==========================
Checkout the "feature/branch-001" branch:
- git pull origin feature/branch-001
-
git checkout -f feature/branch-001
Push:
-
git push
Push to specific branch:
- git push -u origin feature/ABC-321
Reset recent commit:
-
git reset --hard
Get latest develop branch into your branch:
-
git pull origin develop
Get latest version of styles.css file from develop branch:
-
git pull origin develop web/css/styles.css