Github Windows 1.0.38.1を使用していますが、コミット後に[同期]ボタンをクリックすると、エラーが発生します
この問題をデバッグするにはどうすればよいですか?シェルの場合、どうすればよいですか?
git push
またはを実行すると、同期は正常に機能しますgit pull
が、次にGithubウィンドウを使用して同期するときに、同じエラーが発生します。
Github Windows 1.0.38.1を使用していますが、コミット後に[同期]ボタンをクリックすると、エラーが発生します
この問題をデバッグするにはどうすればよいですか?シェルの場合、どうすればよいですか?
git push
またはを実行すると、同期は正常に機能しますgit pull
が、次にGithubウィンドウを使用して同期するときに、同じエラーが発生します。
回答:
それが言ったら、シェルを開いてくださいgit status
。それはあなたに何が間違っているのか、そしてあなたのレポの状態についての適切な考えを与えます。
Github for Windowsでは、サブモジュールの更新に関する問題など、さまざまな理由で発生するため、具体的なエラーをお伝えすることはできません。
git stash
助けた。いつかGITに乗ることを願っています。
git push
Git を使用してコミットします。
このエラーは、ファイルのマージの競合が原因で発生します。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
上記の投稿が示唆するように、競合する変更を見つけるのに役立ち、破棄するかコミットするかを決定できます。
Visual Studio内から試したときも同じ問題があり、シェルの「git status」で問題はありませんでした。しかし、シェル経由で「git push」を使用してローカルの変更をプッシュできました。
git status
メッセージ「ブランチは1つのコミットで 'origin / master'の前にあります(「git push」を使用してローカルコミットを公開します)」。入力すると、git push
これが修正されました。GitHub for Windowsを再起動し、ついに同期が機能しました!
これはおそらくエッジケースですが、この特定のエラーが発生するたびに、最近Windowsでドライブを割り当てたため、ドライブをpowershell
見つけることができません。
powershell
新しくマップされたドライブを取得できるようになったため、コンピュータの再起動(すべてのもの)によってエラーが修正されます。githubクライアントを開く前に、マップされたドライブに接続していることを確認してください。
これを引き起こす可能性のあるもう1つの原因は、GitHubデスクトップが既に起動された後にネットワークドライブをマップするか、VHDを接続する場合です。これは、GitHubデスクトップがポータブルGITインストールのssh-agentを使用して接続を確立し、アプリケーションをアンインストールした場合でも接続を閉じないためです。プロセスは、新しいドライブを認識せずに開始され、それ自体を更新することはありません。また、GITコマンドを実行してリポジトリで作業する場合、パスを理解できないため失敗します。
この場合の解決策は、GitHubデスクトップを閉じ、タスクマネージャーを使用して、実行中のssh-agentを終了してから再起動することです。これにより、必要に応じて新しいドライブマッピングなどを取得するssh-agentの新しいインスタンスが開始されます。
これは、HTTPプロキシの応答に沿って、VPN接続が原因で発生する場合もあります。VPN接続を切断することで解決しました。
同じ問題がありました。GitHub Windowsクライアント(右クリックメニュー)からリポジトリを削除し、再度追加しました。再度追加したところ、約300のコミットされていない変更があり、メモリエラーが報告されていることに気付きました。すべての変更を破棄し、同期が再び正常に機能し始めました。(Rookie Gitユーザー-コマンドラインでこれを行うより良い方法があると確信しています)
デバッグログから何らかの洞察が得られる場合があります。私はv3.3.4.0を使用しています。あなたの経験は異なるかもしれませんが、似ているはずです。設定メニューから「Githubデスクトップについて...」を選択します。リンクをクリックして、デバッグログを表示します。私の場合、非常に明確なエラーがありました:
***致命的なエラー-Cygheapベースの不一致が検出されました-0x1157408 / 0x1167408。この問題は、cygwin DLLの互換性のないバージョンを使用していることが原因である可能性があります。
問題を解決するための役立つヒントも提供しました。
この情報がエラープロンプトに表示されない理由はわかりませんが、少なくとも利用可能でした。
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つのフィールドのみです。お知らせください。私は問題を解決しましたが、時間の無駄があるので、ログインについても知りたいです。