27 Branch Rename FAQs
The Bioconductor project has chosen ‘devel’ to be the default branch for GitHub and git repositories. To prepare for this transition, we have compiled a list of Frequently Asked Questions (FAQs) below.
27.1 What is changing?
The Bioconductor core team will rename the default branch to ‘devel’ on the
Bioconductor git repository located at git.bioconductor.org
. All other
repositories including those on repository hosting platforms such as GitHub,
GitLabs, etc. will not be affected by our change. Maintainers and developers
will be responsible for updating their local and cloud git repositories.
27.2 Who is affected by this change?
Bioconductor developers and maintainers are affected by this change. Bioconductor users are not affected.
27.3 What repositories are affected by this change?
Note that there may exist several clones of a single Bioconductor repository.
Only the Bioconductor repository that resides at git.bioconductor.org
will
be affected. The default branch for all packages in the Bioconductor git server
will be set to devel
. Maintainers and collaborators will be responsible for
updating the local and cloud copies of their repositories.
27.4 What do I need to change?
Bioconductor developers will have to rename default branches on their repositories to ‘devel’. This includes GitHub and other local copies of their repositories including those from collaborators.
Bioconductor users will not need to do anything.
27.5 What should my Git remotes look like?
A recommended git remote
set up should have origin
set to the GitHub
location and upstream
to the Bioconductor git repository. For example,
this would be the set up for BiocGenerics
:
git remote -v
# origin git@github.com:Bioconductor/BiocGenerics (fetch)
# origin git@github.com:Bioconductor/BiocGenerics (push)
# upstream git@git.bioconductor.org:packages/BiocGenerics (fetch)
# upstream git@git.bioconductor.org:packages/BiocGenerics (push)
Note that we are using the SSH protocol for both remotes.
27.6 How do I sync my Git remotes?
Before making updates to branches, make sure that both remotes origin
and
upstream
are in sync with:
git checkout master
git pull origin master
git pull upstream devel:master
27.7 How do I set ‘devel’ as the default local branch?
The recommended way to use devel
as the default branch is to carry out the
rename operation on GitHub first then perform an adjustment of the local
branch(es).
Once the branch is renamed, use the GitHub commands to update the local copy of the repository:
git branch -m master devel
git fetch origin
git branch -u origin/devel devel
git remote set-head origin -a
Note. Change ‘master’ to ‘main’ in the code above if the repository has ‘main’ as the default branch.
27.8 How do I set ‘devel’ as the default branch on GitHub?
GitHub has provided a convenient way to rename the default branch for any
repository. Go to https://github.com/{username}/{repo}/branches
where
username
and repo
correspond to your GitHub username and repository,
respectively.
Click on the ‘edit’ pencil to rename the branch (seen here at the bottom right corner) and rename the branch to ‘devel’:

27.9 How do I push to Bioconductor after renaming?
To push upstream
to Bioconductor, the developer will simply push to the
devel
branch:
## branch should already exist
git checkout devel
#### <commit changes and bump version etc.>
git push upstream devel
27.10 What if I have a GitLab repository?
Although the Bioconductor issue tracker does not support GitLab repositories, you can still change the default branch on GitLab. See the change default branch instructions. Updating the local repository can be done similarly as the instructions above.
27.10.1 Early Branch Rename Adopters
NOTE: This section is for eager developers who would like to make changes to their local repositories before the Bioconductor git branch rename.
27.10.1.1 Sync repositories
Before making updates to branches, make sure that both remotes origin
and
upstream
are in sync:
git checkout master
git pull origin master
git pull upstream master
27.10.1.2 Rename devel branch on GitHub
The rename operation should be done via GitHub. Go to
https://github.com/{username}/{repo}/branches
where username
and repo
correspond to your GitHub username and repository, respectively.
Click on the ‘edit’ pencil to rename the branch (seen here at the bottom right corner) and rename the branch to ‘devel’:

Once the branch is renamed, use the GitHub commands to update the local repository:
git branch -m master devel
git fetch origin
git branch -u origin/devel devel
git remote set-head origin -a
Note. origin
here is set to the GitHub remote and tracking is set to
origin/devel
.
27.10.1.3 Pushing to Bioconductor
Mapping of branches is required to push upstream for early adopters, until the
branch is renamed on the Bioconductor git server. The git push
operation is as
follows:
## branch should already exist
git checkout devel
#### <make changes to repository>
git push upstream devel:master