0

リポジトリとして Git 1.7 バージョンを使用しています。

開発プロセスの一環としてローカル ファイルに変更を加えました (つまり、Eclipse ワークスペース内)。

毎日、オフィスに来るとすぐに、git pull コマンドを使用してリモート リポジトリから最新のコードをチェックインします。

今日、git pull コマンドを実行したところ、次のエラーが発生しました。

$ git pull
Updating 2be0f0d..e2f796e
error: Your local changes to the following files would be overwritten by merge:
       LoginServlet.java 
Please, commit your changes or stash them before you can merge.
Aborting

私の質問は、私が git add を実行することは必須ですか (ファイルをステージング領域に追加するには、ファイルがコードではないため、処理中です)

(まだコーディング中のステージング領域にファイルを追加する必要がありますか)

4

1 に答える 1

3

ステージエリアに追加しても役に立ちません。このメッセージは、誰かがリモート リポジトリの LoginServlet.java ファイルに変更を加えたため、ローカルの変更と競合することを示しています。

これは、ダーティな作業ディレクトリでプルを実行していることも意味します。最近の変更をダウンロードするには、ローカルの変更を一時的に取っておき、プルを実行してから、ローカルの変更を新しいリモート状態の上に適用する必要があります。

これがgit stash目的です。おそらくやりたいことは、次のようなものです。

$ git stash
$ git pull
$ git stash pop 

いつステージングエリアに物を置くかという一般的なルールはありません。

于 2012-10-01T12:37:32.227 に答える