Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

git gui clones non-master default branch as master #345

Closed
jmedemaUD opened this issue Sep 1, 2015 · 2 comments
Closed

git gui clones non-master default branch as master #345

jmedemaUD opened this issue Sep 1, 2015 · 2 comments

Comments

@jmedemaUD
Copy link

Environment #1:
git version 2.5.0.windows.1
git-gui version 0.20.GITGUI
Windows 7 Pro 64-bit

Environment #2:
git version 1.7.9.msysgit.0
git-gui version 0.16.GITGUI
Windows Server 2003 R2 32-bit

Issue:
Cloning from Git GUI when the upstream repo has the default branch set to something other than master (say "develop") yields a local repository with a single branch named "master". This local master branch has no pull link, but it has a push link pointing to the origin/master, leading to a situation where a commit meant for origin/develop is instead pushed to origin/master. Note that this only happens when cloning from the Git GUI - using Git Bash creates a local develop branch pulling & pushing to origin/develop.

To reproduce (example uses fake repo):

  1. Open Git GUI
  2. Click "Clone Existing Repository"
    Source Location: git@github.com:PrivateCo/mytestrepo.git
    Target Directory: c:\temp\mytestrepo
    Clone
  3. Open Git Bash
  4. $ cd /c/temp/mytestrepo
  5. $ git remote show origin
  • remote origin
    Fetch URL: git@github.com:PrivateCo/mytestrepo.git
    Push URL: git@github.com:PrivateCo/mytestrepo.git
    HEAD branch: develop
    Remote branches:
    develop tracked
    master tracked
    Local ref configured for 'git push':
    master pushes to master (fast-forwardable)
    6) $ git branch -avv
  • master 846504a 2nd test file, just for develop branch
    remotes/origin/develop 846504a 2nd test file, just for develop branch
    remotes/origin/master c2b577c initial commit with test file

Workaround (creates new develop branch, wipes out bad master, and recreates master):

  1. Open Git Bash
  2. $ cd /c/temp/mytestrepo
  3. $ git checkout -b develop --track origin/develop
  4. $ git branch -d master
  5. $ git checkout -b master --track origin/master
  6. $ git remote show origin
  • remote origin
    Fetch URL: git@github.com:PrivateCo/mytestrepo.git
    Push URL: git@github.com:PrivateCo/mytestrepo.git
    HEAD branch: develop
    Remote branches:
    develop tracked
    master tracked
    Local branches configured for 'git pull':
    develop merges with remote develop
    master merges with remote master
    Local refs configured for 'git push':
    develop pushes to develop (up to date)
    master pushes to master (up to date)
    7) $ git branch -avv
    develop 846504a [origin/develop] 2nd test file, just for develop branch
  • master c2b577c [origin/master] initial commit with test file
    remotes/origin/develop 846504a 2nd test file, just for develop branch
    remotes/origin/master c2b577c initial commit with test file
@dscho
Copy link
Member

dscho commented Sep 2, 2015

Thank you for your detailed report.

I just verified that this happens also on Linux, so it is not a Windows-specific problem. Therefore I would like to ask you to report it to the Git mailing list: git@vger.kernel.org

@jmedemaUD
Copy link
Author

submitted to git@vger.kernel.org, thanks.

mjcheetham pushed a commit to mjcheetham/git that referenced this issue May 17, 2021
…ctional-tests

Scalar: fix some functional tests
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants