9

リモート ブランチからプルしようとすると、エラーが発生します Your local changes to the following files would be overwritten by merge: app/..../_shared.scss 。Git がファイルのコミットまたはスタッシュを要求しています。

問題は - 私はすでにやったgit add .git commit -am "trying to remove the error". 問題は解決しません。

git status言う:「コミットするものは何もありません(作業ディレクトリはクリーンです)」

誰かがそれを取り除く方法を知っていますか?

回答: 問題のあるファイルを別の場所に移動します。次に、問題のあるファイルをツリーから削除します。もう一度引く。次に、問題のあるファイルからの変更を、プルしたばかりのファイルと比較します。ハックしますが、動作します。

注:ここで答えを見つけました(Gitは、それらの変更がコミットされていてもコミットまたはスタッシュするように求めます)が、元の考えで誰も投票しなかったので、再投稿する必要があります。ハックですが、解決への最速のルートです。

4

4 に答える 4

6

作業ディレクトリがクリーンであると報告された場合git status、作業ディレクトリに無視されたファイルがあり、他の誰かがリモートリポジトリに追加したに違いありません. git diff --stat your-branch remote-name/remote-branchとで確認できますgit ls-files -i --exclude-standard

解決策は、無視ファイルからファイルを削除し(git status追跡されていないファイルとして表示されます)、--include-untrackedオプションで隠し、リモートから変更をプルし、隠しを適用して変更を元にマージすることです.

于 2012-06-10T21:22:27.747 に答える
3

または、私がよく言うように「強制的に引っ張る」こともできます。

公正な警告: このスニペットはすべてのローカル変更を破棄します。
(コミットされたがプッシュされていない変更を含む)

git fetch origin master
git reset --hard FETCH_HEAD
git clean -df
于 2013-10-22T09:54:42.550 に答える
0

@ellotheth が言ったように、無視されたファイルをチェックしようとしましたが、それは問題ではありませんでした。私にとって唯一の解決策は、影響を受けるファイルを移動することでした。

ただし、コミット中に「ファイルのリンクを解除できず、許可が拒否されました」というメッセージが多数あり、リモートでいくつかのファイルが移動/追加されたことを知っています。おそらく、Windowsのインストールと関係があります... Gitチェックアウトの警告:ファイルのリンクを解除できません、権限が拒否されました

于 2013-01-15T08:14:45.770 に答える