====== Adrian's git notes ====== here I use upstream as freebsd's repo, and origin as my github fork * create project branch via git checkout -b * work work * rebasing to edit the commit stack - git rebase -i commithash^ - where commithash is the first commit in your stack/branch * (the ^ means the one before that one, so that's where the rebase will start) * updating to upstream/main - git checkout workbranch; git rebase upstream/main * ready to update main against upstream/main? git checkout main ; git pull --ff-only upstream/main * ready to pull your work branch back into main before pushing ? git checkout main ; (assume it's updated) ; git merge --ff-only branchname ; git push upstream main stuff with arc diff (and I need to flesh this out some more) * create diff against a branch? arc diff --create commithash ; commithash is the last commit in main before your branch diverged * then arc diff will end up .. sometimes being confused about what its base commit is; so you can put the branch into REPODIR/.git/arc/default-relative-commit. Eg, I've put upstream/main in one; sometimes it gets very confused * setting the explicit merge base - read https://secure.phabricator.com/book/phabricator/article/arcanist_commit_ranges/