0

私は多くのアプローチを試しましたが、実際に何が起こっているのか、それを修正する方法がわかりません:

リモートとローカル (私のマシン上) の 2 つの git リポジトリがあります。私は勉強しているので、コードを試したり、ローカル ファイルに多くの変更を加えたりしています。通常、変更されたすべてのファイルを元に戻し、リモートリポジトリからプロジェクトの実際のバージョンをプルします。しかし、今では私が変更した 1 つのファイル (たとえばhello.jsp) があり、それらの変更はコミットされています。その後、他のファイルに関連する他の変更を数回コミットしました。hello.jspさて、ローカルをリモートリポジトリの同じファイルに置き換えたいと思います。だから私はgit pull --rebaseマージの競合を得ました:

Applying: merge fixed
Using index info to reconstruct a base tree...
M       hello.jsp
<stdin>:10: trailing whitespace.
    function showHello() {
<stdin>:11: trailing whitespace.

<stdin>:12: trailing whitespace.
        document.getElementById('q').style.display = 'none';
<stdin>:13: trailing whitespace.
        document.getElementById('w').style.display = 'none';
<stdin>:14: trailing whitespace.
        document.getElementById('e').style.display = '';
warning: squelched 120 whitespace errors
warning: 125 lines add whitespace errors.
Falling back to patching base and 3-way merge...
Auto-merging hello.jsp
CONFLICT (content): Merge conflict in hello.jsp
Failed to merge in the changes.
Patch failed at 0001 merge fixed
The copy of the patch that failed is found in:
   d:/repo/helloProject/.git/rebase-apply/patch

When you have resolved this problem, run "git rebase --continue".
If you prefer to skip this patch, run "git rebase --skip" instead.
To check out the original branch and stop rebasing, run "git rebase --abort".

まあ..最初に、覚えているすべての変更を手動で削除しようとしました。しかし、ある種の「show diff」を使用しても、すべての詳細が変更されたことを見つけるのに時間がかかります (「hello.jsp」は非常に巨大であると信じてください)。

やろうとしてやろgit reset "hello.jsp"うとしgit checkout "hello.jsp"たが、うまくいかなかった。「hello.jsp」をリモートリポジトリの別のものに置き換えるだけですか?

4

1 に答える 1

1

必要なファイルをチェックアウトしてみてください。必要な場所を指定する必要があります。

git checkout your_remote/your_branch filename
于 2013-09-20T08:15:44.873 に答える