Loading...
Create Git
From existing directory
- cd project_dir
- git init
- git add .
From other repository
- git clone existing_dir new_dir
- git clone git://github.com/user/repo.git
- git clone https://github.com/user/repo.git
Local Changes
Changed in working directory
Add changed files
- git add file1 file2 file3
Remove file
- git rm file
- git rm dir/ -r
- (recursive under directory)
See files ready for commit
Commit changes
- git commit
- git commit -m "My message"
- git commit -a -m "My Message"
- (tracked files only, auto add)
Revert changes (new commit)
Return to last committed state
Merge/Rebase
Merge branch into current
Rebase into branch
- git rebase branch
- git rebase master branch
Merge tool to solve conflicts
To view the merge conflicts
- git diff
- complete conflict diff
- git diff --base $file
- against base file
- git diff --ours $file
- against your changes
- git diff --theirs $file
- against other changes
To discard conflicting patch
- git reset --hard
- git rebase --skip
After resolving conflicts
- git add $conflicting_file
- do for all resolved files
- git rebase --continue
Remote Update / Publish
Publish tags
- git push origin/upstream --tags
Branching/Tagging
Create branch from existing
Useful Commands
Finding Regressions
- git bisect start
- to start
- git bisect good $id
- $id is the last working version
- git bisect bad $id
- $id is a broken version
- git bisect bad/good
- to mark it as bad or good
- git bisect visualize
- to launch gitk and mark it
- git bisect reset
- once you're done
Check for Errors and Cleanup Repository
Search Working Directory for foo()