“Cannot update paths and switch to branch at the same time”

前端 未结 11 1678
广开言路
广开言路 2020-12-02 04:24

I sometimes use the checkout -b option to create a new branch, check it out at the same time and set up tracking in one command.

In a new environment, I

相关标签:
11条回答
  • 2020-12-02 05:16

    You can use these commands: git remote update, git fetch, git checkout -b branch_nameA origin:branch_nameB

    I think maybe it's because of your local branch can not track remote branch

    0 讨论(0)
  • 2020-12-02 05:17

    You should go the submodule dir and run git status.

    You may see a lot of files were deleted. You may run

    1. git reset .

    2. git checkout .

    3. git fetch -p

    4. git rm --cached submodules //submoudles is your name

    5. git submoudle add ....

    0 讨论(0)
  • 2020-12-02 05:18

    'origin/master' which can not be resolved as commit

    Strange: you need to check your remotes:

    git remote -v
    

    And make sure origin is fetched:

    git fetch origin
    

    Then:

    git branch -avv
    

    (to see if you do have fetched an origin/master branch)

    Finally, use git switch instead of the confusing git checkout, with Git 2.23+ (August 2019).

    git switch -c test --track origin/master
    
    0 讨论(0)
  • 2020-12-02 05:21

    You could follow these steps when you stumble upon this issue:

    1. Run the following command to list the branches known for your local repository.

    git remote show origin

    which outputs this:

     remote origin
      Fetch URL: <your_git_path>
      Push  URL: <your_git_path>
      HEAD branch: development
      Remote branches:
        development                             tracked
        Feature2                                tracked
        master                                  tracked
        refs/remotes/origin/Feature1         stale (use 'git remote prune' to remove)
      Local branches configured for 'git pull':
        Feature2     merges with remote Feature2
        development  merges with remote development
        master       merges with remote master
      Local refs configured for 'git push':
        Feature2     pushes to Feature2     (up to date)
        development  pushes to development (up to date)
        master       pushes to master      (local out of date)
    
    1. After verifying the details like (fetch URL, etc), run this command to fetch any new branch(i.e. which you may want to checkout in your local repo) that exist in the remote but not in your local.
    » git remote update
    
    Fetching origin
    From gitlab.domain.local:ProjectGroupName/ProjectName
     * [new branch]      Feature3    -> Feature3
    

    As you can see the new branch has been fetched from remote.
    3. Finally, checkout the branch with this command

    » git checkout -b Feature3 origin/Feature3
    
    Branch Feature3 set up to track remote branch Feature3 from origin.
    Switched to a new branch 'Feature3'
    

    It is not necessary to explicitly tell Git to track(using --track) the branch with remote.

    The above command will set the local branch to track the remote branch from origin.

    0 讨论(0)
  • 2020-12-02 05:22

    You can get this error in the context of, e.g. a Travis build that, by default, checks code out with git clone --depth=50 --branch=master. To the best of my knowledge, you can control --depth via .travis.yml but not the --branch. Since that results in only a single branch being tracked by the remote, you need to independently update the remote to track the desired remote's refs.

    Before:

    $ git branch -a
    * master
    remotes/origin/HEAD -> origin/master
    remotes/origin/master
    

    The fix:

    $ git remote set-branches --add origin branch-1
    $ git remote set-branches --add origin branch-2
    $ git fetch
    

    After:

    $ git branch -a
    * master
    remotes/origin/HEAD -> origin/master
    remotes/origin/branch-1
    remotes/origin/branch-2
    remotes/origin/master
    
    0 讨论(0)
提交回复
热议问题