-
Notifications
You must be signed in to change notification settings - Fork 71
How to Make a Pull Request
Before trying to submit a pull request, ensure you're working in the correct branch:
master: :This is the old kernel infrastructure. Also home to active development on cbufs and component recovery facilities.
ppos: This is the new kernel infrastructure, supports one syscall using capability tables. Also home to active development of tcaps.
First and foremost, it is recommended that you commit your changes in a
manor that reflects the logical steps you made during your revisions.
For example: If you made changes to kernel/capinv.c then
kernel/thread.c then platform/i386/kernel.c, you would want to git add <filename(s)>
and git commit
for each group
of distinct logical changes made. Be sure to add a comment that gives an
accurate description of the changes made. You can have a series of rolling
commits locally before pushing.
Once you've tracked your changes locally, you can push to your origin
using git push
. This will push your local changes to github.com. From
here, we want to ensure that we are up to date with changes that have
been made in Gabe's 'upstream' branch. Upstream here simply means the
centralized Composite repo, aka the thing you forked.
To update, we're going to need to add a remote branch. To do this, the
command is git remote add upstream <repo>
where, in our case, <repo>
is
https://github.com/gparmer/Composite.git
. This gives us the ability to
pull changes from Gabe's upstream repo. To pull all upstream changes, we
will first git pull upstream <branch>
where <branch>
is the branch
you're working in, either ppos or master. This will produce a new local
branch, upstream/<branch>
. From here, we want to deal with merge
conflicts locally by merging upstream/<branch>
to <branch>
. The
command to do this is git merge upstream/<branch>
, assuming you're
already in your local branch. Either it will
cleanly merge or you will have merge conflicts; if you have merge
conflicts, FIX
THEM!!! Otherwise, you're now ready to submit your pull
request!
- Revert to HEAD, aka previous commit
git reset --hard head
- Revert to specified commit
git reset --hard <commid hash>
- Force overwrite origin
git push -f
- Show current staged and unstaged changes
git status
- Show recent commits, most recent on top, with full difs
git log -p
- Show recent commits, most recent on top, without full difs
git log
- Generate diff info
git diff
- Create diff information between commits
git diff --stat
- Create new branch from current working branch
git checkout -b <new branch>
- Delete a branch
git branch -D <branch>
- Stash changes. Allows you to save uncommited work and change branch
git stash
- Show stashed changes
git stash list
- Apply a stash entry. Defaults to stash@{0}
git stash apply <stash>
- Apply top stash and remove it
git stash pop
- Delete a specic stash entry. Defaults to stash@{0}
git stash drop <stash>
- Clear all stashes
git stash clear