私は時々checkout -b
オプションを使用して新しいブランチを作成し、同時にそれをチェックアウトして1つのコマンドでトラッキングを設定します。
新しい環境では、私はこのエラーが出ます:
$ 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はなぜそれを好まないのですか?これは同じリポジトリで動作していました。
コミットとして解決できない '
Origin/master
'
奇妙:あなたはあなたのリモコンをチェックする必要があります:
git remote -v
そしてOrigin
が取得されていることを確認してください。
git fetch Origin
その後:
git branch -avv
(Origin/master
ブランチを取得したかどうかを確認するため)
FWIW:あなたがあなたの支店でタイプミスをしているなら、あなたはこれと同じエラーを受けるでしょう。
このエラーは、次のような状況で発生します。 Travisのビルドは、デフォルトでgit clone --depth=50 --branch=master
でコードをチェックアウトします。私の知る限りでは、--depth
を介して.travis.yml
を制御できますが、--branch
を制御することはできません。その結果、リモートで追跡されるブランチは1つだけになるので、リモートを更新して目的のリモートの参照を追跡する必要があります。
前:
$ 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 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)
» 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'
Remoteでブランチを追跡するように(- trackを使用して)Gitに明示的に指示する必要はありません。
上記のコマンドは、Originからのリモートブランチを追跡するようにローカルブランチを設定します。
私にはリモコンを追加する必要がありました:
git remote -add myRemoteName('Origin' in your case) remoteGitURL
それから私は取り出すことができました
git fetch myRemoteName
ブランチに空白があると、このエラーが発生します。
それはあなたのローカルブランチがリモートブランチを追跡しないことが原因で起こります。 ssasiが言ったように、あなたはこれらのコマンドを使う必要があります:
git remote update
git fetch
git checkout -b branch_nameA Origin/branch_nameB
私は今問題を解決しました…….
最初にリモート(特定のブランチ)のFetch
name__を作成する必要があります。それから、ローカルのbrを作成し、コマンドを使用してそのリモートブランチでそれを追跡することができます(すなわち、-bと--trackでcheckout
name__)。
次のコマンドを使用できます。git remote update、git fetch、git checkout -b branch_nameA出典:branch_nameB
私は多分それはあなたのローカルブランチがリモートブランチを追跡できないためだと思います
サブモジュールdirに移動してgit status
を実行してください。
あなたはたくさんのファイルが削除されたのを見るかもしれません。あなたは走るかもしれません
git reset .
git checkout .
git fetch -p
git rm --cached submodules
// submoudlesはあなたの名前です
git submoudle add ....