"Не удается обновить пути и переключиться на ветку одновременно"
Я иногда использую checkout -b возможность создать новую ветку, проверить ее в то же время и настроить отслеживание в одной команде.
в новой среде, я получаю эту ошибку:
$ git checkout -b test --track origin/master
fatal: Cannot update paths and switch to branch 'test' at the same time.
Did you intend to checkout 'origin/master' which can not be resolved as commit?
почему Git это не нравится? Раньше это работало с одним и тем же РЕПО.
10 ответов:
'
origin/master' который не может быть разрешен как commitстранно: вам нужно проверить ваши пульты дистанционного управления:
git remote -vи убедится
originполучается:git fetch originзатем:
git branch -avv(чтобы увидеть, если вы выбрали
origin/master- филиал)
вы можете получить эту ошибку в контексте, например, сборки Travis, которая по умолчанию проверяет код с помощью
git clone --depth=50 --branch=master. Насколько мне известно, вы можете контролировать--depthчерез.travis.ymlа не--branch. Поскольку это приводит к тому, что только одна ветвь отслеживается пультом дистанционного управления, вам нужно независимо обновить пульт дистанционного управления, чтобы отслеживать ссылки нужного пульта.перед:
$ git branch -a * master remotes/origin/HEAD -> origin/master remotes/origin/masterисправления:
$ git remote set-branches --add origin branch-1 $ git remote set-branches --add origin branch-2 $ git fetchпосле:
$ git branch -a * master remotes/origin/HEAD -> origin/master remotes/origin/branch-1 remotes/origin/branch-2 remotes/origin/master
эта простая вещь работала для меня!
если он говорит, что не может делать 2 вещи одновременно, разделить их.
git branch branch_name origin/branch_name git checkout branch_name
вы можете выполнить следующие действия, когда вы наткнетесь на эту проблему:
- выполните следующую команду, чтобы вывести список ветвей, известных для вашего локального репозитория.
git remote Show origin
который выводит это:
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)
- после проверки деталей, таких как (fetch URL и т. д.), выполните эту команду, чтобы получить любую новую ветвь (т. е. которую вы можете проверить в своем локальном РЕПО) которые существуют в удаленном, но не в вашем локальном.
» git remote update Fetching origin From gitlab.domain.local:ProjectGroupName/ProjectName * [new branch] Feature3 -> Feature3как вы можете видеть, новая ветка была извлечена из удаленного.
3. Наконец, проверьте ветку с помощью этой команды» git checkout -b Feature3 origin/Feature3 Branch Feature3 set up to track remote branch Feature3 from origin. Switched to a new branch 'Feature3'не нужно явно указывать Git для отслеживания(используя -- track) филиала с пультом дистанционного управления.
приведенная выше команда установит локальную ветвь для отслеживания удаленной ветви от источника.
для меня мне нужно было добавить пульт:
git remote -add myRemoteName('origin' in your case) remoteGitURLтогда я мог бы получить
git fetch myRemoteName
сначала нужно
Fetchудаленный (конкретная ветвь), затем вы можете создать локальный br и отслеживать его с помощью этой удаленной ветви с помощью вашей команды (т. е.checkoutС -b и --track).
вы должны пойти в подмодуль dir и запустить
git status.вы можете увидеть, что многие файлы были удалены. Вы можете бежать
git reset .
git checkout .
git fetch -p
git rm --cached submodules//submoudles-это ваше имя
git submoudle add ....
вы можете использовать эти команды: удаленное обновление git, ГИТ выборки, git checkout - b branch_nameA происхождение: branch_nameB
Я думаю, может быть, это из-за вашей локальной ветви не может отслеживать удаленную ветвь
это приводит к тому, что ваша локальная ветвь не отслеживает удаленную ветвь. Как сказал ssasi, вам нужно использовать эти команды:
git remote update git fetch git checkout -b branch_nameA origin/branch_nameBЯ решил свою проблему только сейчас....
Comments