-
-
Notifications
You must be signed in to change notification settings - Fork 954
How to know which is the default branch #1364
-
How one can one which is the default branch? main/master?
One can know about this by iterating all heads and then manually check , but that is also have one issue.
What if a repository has both the branches as their branch, which means master, main are some branch and default branch could be one of these or something else.
How to get the default branch ?
Beta Was this translation helpful? Give feedback.
All reactions
this seems to work repo.remotes.origin.refs.HEAD.ref.remote_head
bit verbose tho!
Replies: 3 comments 5 replies
-
The default branch is only relevant once, when initializing the repository and git has to decide how to name the only branch in the repository. From there the only questions that can be answered are...
- which branch is currently checked out
- which remote is associated with a branch
Beta Was this translation helpful? Give feedback.
All reactions
-
Is there any way to know the default_branch of repository?
Beta Was this translation helpful? Give feedback.
All reactions
-
There is a way to ask for configuration values, search for 'config' here. From there it's, it's using the right configuration key to get or set the value.
Beta Was this translation helpful? Give feedback.
All reactions
-
I did repo.config_reader()
with all possible config levels (system, global,repository) , it outputs ['DEFAULT']
for every case. Tested with many repositories
Beta Was this translation helpful? Give feedback.
All reactions
-
Keep debugging and I am sure it will be possible to read config values from it. If that's not the case and reproducible please file an issue.
Beta Was this translation helpful? Give feedback.
All reactions
-
Can we rely upon
repo = git.Repo('repo')
name = repo.heads[0]
print(name)
Will it give the main branch of the repo (main/master or any branch which is main of the repo)
Beta Was this translation helpful? Give feedback.
All reactions
-
this seems to work repo.remotes.origin.refs.HEAD.ref.remote_head
bit verbose tho!
Beta Was this translation helpful? Give feedback.
All reactions
-
This doesn't work when refs/remotes/origin/HEAD
has not yet been created.
With the git binary the correct command would be git remote set-head origin -a
. Does anyone know what the GitPython equivalent to this is?
Beta Was this translation helpful? Give feedback.