2016-04-15 24 views
41

元からプルするのが難しいです。私は得続ける:Visual Studio 2015 Gitコミットされていない変更があるため、プル/切り替えできません

「。。未コミットの変更がありますので、プルすることはできませんコミットするか、再度引っ張っ前に変更を元に戻す詳細については、[出力]ウィンドウを参照してください」

これはまた、枝を切り替えるに適用され、私はメッセージの同様の並べ替えを取得するが、これは常に発生しません。

私は、Visual Studio 2015の更新1とVisual Studio Team ServicesのGitリポジトリを使用しています。私のマシンにはローカルのmasterブランチとdevブランチがあります。マスターに切り替えるたびに、プルを実行するたびにエラーメッセージが表示されます。私がしなければならないのは、ひっそりとした隠し場所(コマンドライン)を実行することです。時にはTortoise Gitを使用してプルを行い、それが動作することもあります。奇妙なのは、Tortoise gitを使用して(コミットされていないファイルで)元に戻すことを試みても、正常に復帰したことを示します(VSの元に戻す、何も起こりません)。そこにいて、私がgit statusをしたときにコミットするものは何もないと言います。

ただ、ノート、これは起こることができさえマスター上に枝から切り替えた後、このケースでは、私が最初の場所で切り替えることはできなかったであろうから、コミットされていない変更ができる方法はありません。

私はまだGitには慣れていませんが、これを解決するより良い方法があるかどうかを知りたいのですが、それぞれの環境ごとに異なる環境を使いたいのではなく、 Visual Studioから。 Iすでに上に読みました:この問題は、^」あなたは行末が追加されていることがわかります-R Gitの差分を取ることにより、行末 に関係しているようにUPDATE はそう

TFS/GIT in VS Cannot switch to master because there are uncommitted changes

M "であり、それは異なっています。gitattributes内の* text = autoを削除してから(変更をチェックしてください)、gitattributesがコミットされる必要がある変更を通知しないようにするためには、変更してください。コマンドラインに

+0

ビジュアルスタジオを数回再起動して、マージの競合画面が表示されるように変更を取り込めました。 –

答えて

8

タイプgit statusは、そのディレクトリで開かれました。赤色または緑色のテキストがある場合は、いくつかのものを変更し、追加およびコミットしていません。 (git checkout -- <file>を実行して)ファイルを元に戻すか、またはgit add --allからgit commit -m "commit message"まで追加してコミットしてください。その後、ブランチやその他の作業をチェックアウトすることができます。

+0

私は未追跡のファイルを持っています。それは問題である可能性があります – kwiri

+0

@kwiriはい、最後のコミット以降にファイルを作成し、コミットしていないことを意味します。単に 'git add --all'と' git commit -m "を実行してください。コミットメッセージをここに追加してください。その後、他のブランチをチェックアウトすることができます。 – RhysO

+0

プロジェクトにファイルを追加すると、コミットするために自動的に追加する必要があるため、Visual Studioがこれをどのように処理しているかを確認する必要があります。私は現時点で私のソースコードにアクセスできないが、devブランチのファイルをコミットしてから、私がプルしようとしたところにマスターに切り替えることは間違いないと確信している。 – kwiri

7

は、コマンドプロンプトで、プロジェクトの作業ディレクトリに行くことによって、これらのコマンドを試してみてください。

git add -A 
git commit -m "your message" 
git fetch origin master 
git pull origin master 
git push origin master //To push to the git 

問題がある場合はお知らせください。

+0

問題はVS 2015のツーリングに関するコマンドに関するものではありませんVS Team explorer.Becauseという1つの環境で作業したいと思っています。私はコマンドに切り替えてすべてのコマンドを覚えています私たちはすでにVSに組み込みのツールを持っていると思うかもしれませんが、私の考えはプロジェクトがどのように構造化されているのだろうか?問題を引き起こしている何かが間違っているかもしれないかもしれません。 – kwiri

+2

ありがとう:) git add -A git commit -m "あなたのメッセージ" git pull –

+1

これは私にとって完璧に機能しました!これらのコマンドは、VS2015のPackage Manager Consoleに書き込むことができ、完全に動作します。私の問題は解決されました! @Dhruv –

5

この問題は通常、ローカルでコミットされていないファイル/変更がプルアクションに含まれている場合に発生します。たとえば、ローカルのGit repoフォルダから直接新しいファイル "test.txt"を追加します(Visual Studioの外部)。このファイルは「未対応のファイル」オプションにリストされている可能性があります。変更をコミットすると、このファイルは追跡およびコミットされません。そして、別の人が同じパスで "test.txt"を作成し、&を押してコミットします。さて、プルアクションを実行すると、 "test.txt"ファイルがプルアクションに含まれ、コミットされていない変更があることを示すエラーメッセージが表示されます。したがって、コミットされていないファイルや変更があるかどうかをチェックしてから、それらをコミットする前にコミットする必要があります。

+0

私はまだ奇妙な問題を抱えています。私は手作業によるマージをしようとしていますが、Gitはコミットされていない変更があると言います。私は隠しを行い、まだコミットされていない変更があると言います。私はこれらのファイルに何も変更を加えていないので、私の変更をコミットしたくありません。diffはファイルの変更を表示しません。リセットを試みました - 同じことは、コミットされていない変更と同じファイルがあると言います。 – kwiri

+0

ありがとうございます。 「Untracked Files」でファイルを削除したときに、ブランチを切り替えることができました。 –

51

私には、コミットされていない変更や未追跡のファイルはありませんでしたが、VS 2015はまだ警告を表示しました。

  1. VSでソリューションを終了し、VSを終了します。あなたのレポへ
  2. オープンGit Bash(またはお好みのGitのUI)
  3. 移動(またはGitのUIでレポを開く)
  4. git pull(またはGitのUI上のプルを行う)
  5. マージはありませんうまくいけば(たまたま私の場合のように紛争、)、viが開きます(またはデフォルトのマージ解像度ツール)
  6. :wqはその後viENTERを押す(または必要に応じてポップアップマージツールを扱う落ち着か)とうまくいけば、これは私だけのために同じようにそれを解決します。
  7. スタートVS 2015、私が追加したプロジェクト

を開き、より安全なステップバイステップの閉鎖を指示し、ソリューションおよびVS.を開いてこれはおそらくリロードで十分でしょう。この症状は、VS Gitの統合部分のバグであり、将来解決される可能性があります。ここで

+1

私が同意すると、VS、コマンドライン、または他のGit GUIの外で動作するかどうか常に確認してください – VladNeacsu

+0

5月以降、いくつかのVSアップデートとVS Git統合のアップデートがありました。私はこの間違いをすぐには見たことがない。常にVSを更新し、プラグインを最新のものに更新します。 –

+1

いつもこのエラーを見て、そのような基本的な問題がそのような主要な製品に存在することに驚いています... – bonitzenator

0

は私が

  1. を追ってきた手順は、そのパスに移動
  2. 出力ウィンドウにコミットされていないファイルのパスを参照し、フォルダ
  3. からそのファイルを削除している中でチームエクスプローラから、変更を元に戻しますVisual Studioは、再度追加するには、私はこれが役立つことを願っています

...

0

私の場合、質問の「更新」が答えでした。私のリポジトリのルートに.gitattributesファイルを追加し、ファイルがテキストの場合にのみ行末が正規化されるように、次のものだけを含めました。

*.txt text 
*.html text 
*.css text 
*.js text 
# These files are text and should be normalized (Convert crlf => lf) 
*.gitattributes text 
.gitignore text 
*.md texttesting 
0

私は、これはしかし、古い問題である知っている、私はVS 2017のビルド15.5でこの問題を持っていたし、私のためにそれを固定するものではチームエクスプローラセッティングに行っていた>グローバル設定と設定」プルーンリモートブランチをフェッチ「と」中にに「を引いたときには、ローカルブランチをリベース。

関連する問題