2

簡単に言うと、私は過去数か月間Webアプリに取り組んできました。最近、新しいラップトップを入手して、リポジトリをgithubから新しいマシンに複製する必要がありました...しかし、アプリに変更をコミットgit push -uしてアプリのルートディレクトリで使用しようとすると、次のメッセージが表示されます。

To git@github.com:acc/etc.git ! [rejected] master -> master (non-fast-forward) error: failed to push some refs to 'git@github.com:acc/etc.git' To prevent you from losing history, non-fast-forward updates were rejected Merge the remote changes (e.g. 'git pull') before pushing again. See the 'Note about fast-forwards' section of 'git push --help' for details.

しかし、試してみるgit pull git@github.com:acc/etc.git master と、プルが中止されたというメッセージが表示されます。

From github.com:acc/etc * branch master -> FETCH_HEAD error: Your local changes to the following files would be overwritten by merge: config/routes.rb test/fixtures/users.yml Please, commit your changes or stash them before you can merge. Aborting

を使用して変更をコミットしてから、再git commit -m 'fixing'試行git pullします。

ただし、今回は、実質的にすべてのファイルに「自動マージの競合」があるというメッセージが表示されました。

私はこの特定のリポジトリに完全に夢中になっていますか?gitはまだ少し新しいので、どうしたらよいかわかりません。

4

2 に答える 2

3

私はこの特定のリポジトリに完全に夢中になっていますか?

いいえ。ただし、Gitはそれを理解できないため、手動でマージする必要があります。git statusどのファイルを編集する必要があるかがわかります。ファイル自体には、編集する場所を示すマーカーが含まれています。それが終わったら、git push再び動作するはずです。

于 2012-06-18T18:10:48.423 に答える
2

変更がそれほど大きくない場合は、プロジェクト外の別のディレクトリにフォルダ/プロジェクト全体のコピーを作成することを検討してください。その後git reset --hard HEAD、最近の変更を消去、消去、および削除します。
その後、参照用にsave3dコピーを使用して、それらを個別に再度適用できます。
もちろん、必ずgit addgit commitに確認してください。
最後に、自動コミットマージの問題が発生した場合は、いつでもファイルを手動で編集して解決できます。

于 2012-06-18T18:17:47.143 に答える