Goal: Developer wishes to maintain their Bioconductor repository without using GitHub.
Make sure that you have SSH
access to the Bioconductor
repository; be sure to submit your SSH public key or
github id to Bioconductor.
Clone the package to your local machine,
git clone git@git.bioconductor.org:packages/<ExamplePackage>
NOTE: If you clone with https
you will NOT get read+write
access.
View existing remotes
git remote -v
which will display
origin git@git.bioconductor.org:packages/<ExamplePackage>.git (fetch)
origin git@git.bioconductor.org:packages/<ExamplePackage>.git (push)
This indicates that your git repository has only one remote
origin
, which is the Bioconductor repository.
In other work flows, the origin
remote has been renamed to
upstream
. It may be convenient to make this change to your own
repository
git remote rename origin upstream
and confirm that git remote -v
now associates the upstream
repository name with git@git.bioconductor.org
.
Before making changes to your repository, make sure to pull
changes or updates from the Bioconductor repository. This is
needed to avoid conflicts.
git pull
Make the required changes, then add
and commit
your changes to
your master
branch.
git add <files changed>
git commit -m "My informative commit message"
(Alternative) If the changes are non-trivial, create a new branch
where you can easily abandon any false starts. Merge the final
version onto master
git checkout -b feature-my-feature
## add and commit to this branch. When the change is complete...
git checkout master
git merge feature-my-feature
Push your commits to the Bioconductor repository to make them available to the user community.
Push changes to the master
branch using:
git checkout master
git push upstream master
If the changes (bug fixes) need to be available on the
<RELEASE_X_Y>
branch. Checkout the branch <RELEASE_X_Y>
using:
git checkout -b <RELEASE_X_Y> upstream/<RELEASE_X_Y>
Pull any changes from the Bioconductor repository to this branch
git pull
Then, merge master
into the <RELEASE_X_Y>
branch
git merge master
A new commit message will show up after this step, with the
message Merge branch 'master' into <RELEASE_X_Y>
. It will be
committed to <RELEASE_X_Y>
branch when you save. Update the
version number so that it is correct for the release, and commit
the modified DESCRIPTION file
git add DESCRIPTION
git commit -m "Update version bump"
Push changes to the <RELEASE_X_Y>
branch using:
git push upstream <RELEASE_X_Y>