These instructions are wrote to contributors who tend to send lots of changes. The basics from howto-contribute file are assumed to be read and understood by the time this file becomes useful.
-
Find a git server that can be reached from anywhere in internet anonymously. Github is for example a popular choice.
-
Create your own kbd contributor repository, and push a upstream clone to there.
-
In these instructions the upstream remote repository is called 'origin' and the 'yourgit' is the contributor repo.
cd ~/projects
git clone git://git.kernel.org/pub/scm/linux/kernel/git/legion/kbd.git
cd kbd
git remote add yourgit [email protected]:yourlogin/kbd.git
git push yourgit
-
Ensure you have the latest from all remote repositories.
-
Merge upstream 'master' branch if needed to your local 'master'.
-
Rebase your working contribution branches.
-
Push the changes to 'yourgit'.
git fetch --all
git log --graph --decorate --pretty=oneline --abbrev-commit --all
-
If you notice upstream has changed while you were busy with your changes rebase on top of the master, but before that:
-
Push a backup of your branch 'textual' to 'yourgit', then
git checkout master
git merge origin/master
git checkout textual
git rebase master
If rebase reports conflicts fix the conflicts. In case the rebase conflict is difficult to fix rebase --abort is good option, or recover from 'yourgit', either way there is some serious re-work ahead with the change set.
- Assuming rebase went fine push the latest to 'yourgit'.
git push yourgit master:master
git push yourgit --force textual:textual
The contributor branch tends to need --force every now and then, don't be afraid using it.