action | command |
---|---|
Fetching from upstream | |
go to master | git checkout master |
get the latest from upstream | git fetch upstream |
update master with upstream | git merge upstream/master --ff-only |
push to github | git push origin |
Creating branches | |
go to master | git checkout master |
create and move to new branch | git checkout -b branch_name |
check which files have changed | git status |
check what’s changed | git diff |
commit all changes to branch | git commit -a -m 'commit description' |
push branch to github | git push origin branch_name |
Updating branches | |
go to the branch | git checkout branch_name |
update branch* | git rebase master |
abort rebase | git rebase --abort |
force push to github** | git push -f branch_name |
Branch tidying | |
see last commits | git log |
squash 3 commits* | git rebase -i HEAD~3 |
force push to github** | git push -f branch_name |
Making a backup branch | |
make backup branch | git branch branch_name_backup |
Troubleshooting | |
remove last 3 commits* | git reset --hard HEAD~3 |
*Be careful when doing this, perhaps consider making a backup branch.
** Be careful when doing this, ensure no-one is working off your branch, and if there is a current pull request that it is not going to be merged.