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


124

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

ここに画像の説明を入力してください

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

git pushまたはを実行すると、同期は正常に機能しますgit pullが、次にGithubウィンドウを使用して同期するときに、同じエラーが発生します。


1
私にとっては、非常に大きなファイルをコミットから削除するのを忘れていたからです。Githubには最大ファイルサイズがあり、それを超えていました。
pmcilreavy 2014年

5
答えがたくさんあるのが好きです。この場合はどれも正解でしたが、どれも正解ではありませんでした。これがGitです。
15ee8f99-57ff-4f92-890c-b56153

1
このエラーは、インターネットに接続していないために発生する可能性があります。一種の明白ですが...ちょっと。
levininja

1
オフィスでインターネットの問題が発生し、これが発生しました。ただし、gitシェルは引き続き機能します。
フランクキャノン

回答:


113

それが言ったら、シェルを開いてくださいgit status。それはあなたに何が間違っているのか、そしてあなたのレポの状態についての適切な考えを与えます。

Github for Windowsでは、サブモジュールの更新に関する問題など、さまざまな理由で発生するため、具体的なエラーをお伝えすることはできません。


3
ありがとう!元の質問質問者と同じ問題があったgitとGitHubの初心者として、これは非常に役に立ちました:)すばらしい回答です!
Dyndrilliac 2014年

5
git stash助けた。いつかGITに乗ることを願っています。
ivkremer 2014

GitHubを再起動すると問題が解決しました!それは私がマージするいくつかの衝突があった後に起こりました。
ラファエルフェルナンデス2014年

1
同じ問題がありますが、マップされたドライブを使用しています。この答えで、私は今、GitHubデスクトップとgit pushGit を使用してコミットします。
zanderwar

@manojlds git statusがブランチが最新であり、コミットするものがなく、作業ディレクトリがクリーンであると言っている場合はどうですか?
levininja

16

このエラーは、ファイルのマージの競合が原因で発生します。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

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


GitHubを再起動すると問題が解決しました!それは私がマージするいくつかの衝突があった後に起こりました。
ラファエルフェルナンデス2014年

11

私も同じ問題を抱えていました。これは、いくつかの矛盾する変更のために起こりました。デスクトップからプロジェクトのローカルリポジトリを削除し、github Webサイトから(私のアカウントのクローンオプションを使用して)再度クローンしましたが、エラーは発生しませんでした。


5

Visual Studio内から試したときも同じ問題があり、シェルの「git status」で問題はありませんでした。しかし、シェル経由で「git push」を使用してローカルの変更をプッシュできました。


rovsenがスタックしたものにいくつかの色を追加するように言ったように:GitHub for WindowsがクラッシュしているがGit Shellですべての緑が表示され、このgit statusメッセージ「ブランチは1つのコミットで 'origin / master'の前にあります(「git push」を使用してローカルコミットを公開します)」。入力すると、git pushこれが修正されました。GitHub for Windowsを再起動し、ついに同期が機能しました!
micstr 2017年

4

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

 git config --global http.proxy %HTTP_PROXY%

2

これはおそらくエッジケースですが、この特定のエラーが発生するたびに、最近Windowsでドライブを割り当てたため、ドライブをpowershell見つけることができません。

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


こっちも一緒。再起動し、それがうまく働いていた肩をすくめ
shieldgenerator7

ああ、神様!新しいオフィススペースに移動しただけで、マップされたドライブが機能しなくなりました。しかし、彼らはgitや私の作業フォルダとは何の関係もありませんでした。マッピングを削除するだけで、GitHubデスクトップが機能し始めました。それそれらのマップされたドライブを見ていないはずなので、これバグでなければなりませんか?
DeborahK

2

私も同じ問題を抱えていました。私の場合%HTTP_PROXY%、Windowsがグローバル変数を提供/使用していないために、gitはグローバル変数を見つけることができませんでした。

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

[http]
#   proxy = %HTTP_PROXY%

2

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

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


これでエラーになりました。真剣に、彼らはこのことをUIで適切にプロキシ対応にし、新しいユーザー名とパスワードの入力を求めるべきです。または、NTLMが(少し)ファンシーだと感じている場合でも。
ロブ・グラント

1

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

git statusはそれを伝えませんが、を実行しようとすると、「そのような参照はフェッチされませんでした」というメッセージが表示されますgit pull


1

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

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


1

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


0

シェルで「git status」と「git pull」を確認し、問題を見つけます。私の問題は設定のhttp.proxyノードであるため、Github Windowsはシェルをポップしてエラーが発生した後により多くのヒントを提供するようにはるかにスマートになるはずです。



0

私は同じ問題を抱えていて、「git status」も問題を示さなかったので、Windows用の神聖なGitHubクライアントを再起動しただけで、それは魅力のように機能しました。


0

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


0

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

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

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

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


0

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

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 Shellを入力すると、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`

私がgoogleアカウントでサインアップしたように、誰かがWindowsからGithubポップアップにログインする方法を知っている場合、Githubのユーザー名とパスワードは2つのフィールドのみです。お知らせください。私は問題を解決しましたが、時間の無駄があるので、ログインについても知りたいです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.