git rebase Origin
とgit rebase Origin/master
の違いはわかりません。私の場合、gitリポジトリを2回クローンしました。最初のクローンではgit rebase Origin
を使用する必要があり、他のクローンではgit rebase Origin/master
を使用する必要があります。
git rebase Origin
は「Origin
の追跡ブランチからリベース」を意味し、git rebase Origin/master
は「master
のブランチOrigin
からリベース」を意味します
~/Desktop/test
に追跡ブランチが必要です。つまり、git rebase Origin
はリベースするOrigin
のブランチを知っている必要があります。追跡ブランチが存在しない場合(~/Desktop/fallstudie
の場合)、gitはOrigin
のどのブランチを取る必要があるかを認識せず、失敗します。
これを修正するには、次のようにしてブランチをOrigin/master
追跡します:
git branch --set-upstream-to=Origin/master
または、master
が現在チェックアウトされているブランチでない場合:
git branch --set-upstream-to=Origin/master master
より良いオプションは次のとおりです。
git remote set-head -a Origin
ドキュメントから:
-aを使用すると、リモートがHEADを判別するために照会され、$ GIT_DIR/remotes // HEADが同じブランチに設定されます。たとえば、リモートHEADが次にポイントされている場合、 "git remote set-head Origin -a"は$ GIT_DIR/refs/remotes/Origin/HEADをrefs/remotes/Origin/nextに設定しますこれは、refs/remotes/Origin/nextがすでに存在する場合にのみ機能し、存在しない場合は最初にフェッチする必要があります。
これは実際にはかなり前からありました(v1.6.3以降)。どうやって見逃したかわからない!
[.git\refs\remotes\Origin]の下に「HEAD」という名前の新しいファイルを作成し、それにコンテンツ「ref:refs/remotes/Origin/master」を入れることができます。これで問題が解決するはずです。
空のリポジトリからのクローンはこれにつながるようです。コミットオブジェクトが存在しないため、空のリポジトリにHEADがない可能性があります。
使用できます
git log --remotes --branches --oneline --decorate
「問題」リポジトリには「Origin/HEAD」がありませんが、各リポジトリの違いを確認するには
編集:コマンドラインを使用して道を譲る
gitコマンドラインを使用してこれを行うこともできますが、結果は同じです
git symbolic-ref refs/remotes/Origin/HEAD refs/remotes/Origin/master