web-dev-qa-db-ja.com

Github Windows「このブランチの同期に失敗しました」

Github Windows 1.0.38.1を使用していますが、コミット後に[同期]ボタンをクリックすると、エラーが発生します

enter image description here

この問題をデバッグするにはどうすればよいですか?シェルの場合、どうすればよいですか?

git Pushまたはgit pullを実行すると同期は正常に動作しますが、次回Githubウィンドウを使用して同期したい場合、同じエラーが発生します。

125
Nyxynyx

それが言ったら、シェルを開いてgit statusを実行するだけです。これにより、何が間違っている可能性があるか、レポの状態についての適切なアイデアが得られます。

サブモジュールの更新などの問題など、Github for Windowsの多くの理由で発生するため、これについて特定のエラーを示すことはできません。

115
manojlds

このエラーは、ファイル内のマージの競合が原因で発生します。 Mavenプロジェクトのpom.xmlを更新した後、コミットしませんでした。を使用して

git status
error: Your local changes to the following files would be overwritten by merge:
<my project>/pom.xml
Please, commit your changes or stash them before you can merge.
Aborting

上記の投稿が示唆したように、競合する変更を見つけるのに役立ち、破棄するかコミットするかを決定できます。

16
Navin Mishra

同じ問題がありました。いくつかの相反する変更のために私に起こりました。デスクトップからプロジェクトのローカルリポジトリを削除し、github Webサイトから再度クローンを作成しました(アカウントのクローンオプションを使用)。エラーはなくなりました。

11
rk2

Visual Studio内から試したときに同じ問題が発生し、Shellの「git status」には問題がありませんでした。しかし、シェルを介して「git Push」でローカルの変更をプッシュすることができました。

4
rovsen

私はこの問題を抱えていて、プロキシに関係していることがわかりました。このコマンドを使用して問題を修正しました。

 git config --global http.proxy %HTTP_PROXY%
4
Tom

最近Windowsのパスワードを変更しましたか、それとも少なくともプロキシへの接続に使用するパスワードを変更しましたか?

これが私の問題であり、git statusは私を助けることができませんでした。このエラーを回避するには、「。git/config」ファイルのログイン資格情報を変更する必要がありました。

2
Ralph Lavelle

これはおそらくEdgeの場合ですが、この特定のエラーが発生するたびに、Windowsでドライブを最近マップしたため、powershellが見つかりません。

powershellが新しくマップされたドライブを取得できるようになったため、コンピューターの(すべてのものの)再起動によりエラーが修正されました。 githubクライアントを開く前に、マップされたドライブに接続してください。

2
kwakwa

同じ問題がありました。私の場合、gitはグローバル変数%HTTP_PROXY%を見つけることができませんでした。単にWindowsがそれを提供/使用していないからです。

Git configファイル(%USERPROFILE%\.gitconfigにある)から変数を除外することで解決しました:

[http]
#   proxy = %HTTP_PROXY%
2
Steven

これを引き起こす可能性があるもう1つのことは、GitHub Desktopが既に開始された後にネットワークドライブをマップするかVHDを接続するときです。これは、GitHub DesktopがポータブルGITインストールのssh-agentを使用して接続を確立し、アプリケーションをアンインストールしても接続を閉じないためです。プロセスは新しいドライブの知識なしで開始され、それ自体は更新されません。また、GITコマンドを実行してレポジトリを操作するために使用すると、パスを理解できないため失敗します。

この場合の解決策は、GitHub Desktopを閉じ、タスクマネージャーを使用して、実行中のssh-agentを終了してから再起動することです。これにより、必要に応じてssh-agentの新しいインスタンスが開始され、新しいドライブマッピングなどが取得されます。

1
Corey

このエラーは、同期しようとしているブランチが削除された場合にも発生します。

git statusはそれを伝えませんが、git pullを試みると、「そのようなrefは取得されませんでした」というメッセージが表示されます。

1
Libby

プッシュしようとしているブランチが保護されていないことを確認してください。保護されたブランチにプッシュしようとしましたが、あなたと同じように失敗しました。

1
mikii123

Android St​​udioで変更をコミットしてマスターにプッシュしようとしましたが、Github資格情報を入力する必要があるポップアップがウィンドウに表示されました( https://github.com )。私はGmailアカウントでサインアップしましたので、パスワードとともにGmail IDを入力しようとしました、明らかにGitにはGmailパスワードがなく、提供しているものと一致しないので、プッシュをキャンセルしました.
GitHub GUIウィンドウを使用して変更を同期しようとすると、このエラーが発生します。 git statusコマンドで、Git Shellは変更を次のようにプッシュすることを提案しました

Your branch is ahead of 'Origin/master' by 1 commit.
  (use "git Push" to publish your local commits)

Git Shellが提案した(git Push)と同じことをしましたが、今はすべて大丈夫です。

注:gitを初めて使用する場合は、Gitシェルに入るすべてのコマンドで.gitファイルがあるフォルダーへのパスを変更する必要がありますgitリポジトリではないというエラーが表示されます。

fatal: Not a git repository (or any of the parent directories):

たとえば、プロジェクトがいくつかのフォルダのDドライブにある場合、cmdでディレクトリを変更する場合と同様に、以下のような操作を行う必要があります。

cd D:\someFolder     // if your project is not deep in `D`

そして、Dのネストされたフォルダー内にある場合

cd D:\somefolder\someNestedFolder\nestedInNested     // if your project is not deep in `D`

Ifgoogleアカウントでサインアップしたときに、WindowsからGithubポップアップにログインする方法を知っている人。私は問題を解決しましたが、しばらく時間を無駄にしましたので、ログインについても知りたいです。

0

私は同じ問題を抱えていましたが、「git status」でも問題はありませんでした。その後、私はRestarted Windows用の神聖なGitHubクライアントであり、それは魅力的でした。

0
Qasim

デバッグログは洞察を提供するかもしれません。私はv3.3.4.0を使用しています。あなたの経験は異なるかもしれませんが、似ているはずです。設定メニューから「Githubデスクトップについて...」を選択します。リンクをクリックして、デバッグログを表示します。私の場合、非常に明確なエラーがありました:

***致命的なエラー-cygheapベースの不一致が検出されました-0x1157408/0x1167408。この問題は、おそらく互換性のないバージョンのcygwin DLLを使用していることが原因です。

問題を解決するための役立つヒントも提供しました。

この情報がエラープロンプトに表示されない理由はわかりませんが、少なくとも入手可能です。

0
Opsimath

シェルで「git status」および「git pull」を確認し、何が問題なのかを確認します。私の問題はconfigのhttp.proxyノードです。したがって、Github Windowsは単にシェルをポップして、エラーが発生した後、より多くのヒントを提供するように、はるかにスマートになります。

0
Alex Kon

同じ問題がありました。 GitHub Windowsクライアントからリポジトリを削除し(右クリックメニュー)、再度追加しました。再追加すると、約300のコミットされていない変更があり、メモリエラーが報告されていました。すべての変更を破棄し、同期が再び正常に機能するようになりました。 (ルーキーGitユーザー-コマンドラインでこれを行うより良い方法があると確信しています)

0
Stephen Kearns

HTTPプロキシの回答に沿って、これはVPN接続が原因で発生することもあります。 VPN接続を切断することで解決しました。

0
Byron Claiborne