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/