I sometimes contribute to open source projects on Github. The workflow then often consist of creating a fork, adding my own code and then submitting pull requests.>p
Unfortunately sometimes when you do this the upstream (meaning, the ‘original’ repository) has changed so much that it’s not possible to easily submit (or include) your changes. You then need to sync your fork with the upstream repository.
For what concerns the repositories related to MISP, these are the commands that I then use (issued from within the directory containing your fork) :
cat .git/config | grep remote
This gives me all the “remote” (upstream) providers. The output should look similar as below.
[remote "origin"] fetch = +refs/heads/*:refs/remotes/origin/* remote = origin [remote "MISP"] fetch = +refs/heads/*:refs/remotes/MISP/* [remote "upstream"] fetch = +refs/heads/*:refs/remotes/upstream/*
In most (all?) of the MISP repositories you can choose “MISP”. I then fetch the changes from the original repository to update my local repository with these changes.
git fetch MISP git pull MISP master
As a last step you can then push these changes back to your repository.
Caution : the above commands do not take into account different branches etc. that you might have created. If you already know how to create a branch then most likely you are also aware of the above sync commands.