2

Git で Python ファイルのマージ中にエラーが発生します。アイデアを共有してください。すべての pyc ファイルを削除してコンテンツをマージする方法。このエラーは、リポジトリから更新をプルするときに発生します。これらの pyc ファイルは頻繁に更新されます。リポジトリから更新をプルすると、毎回これらのエラーが発生します

error: The following untracked working tree files would be overwritten by merge:
    addressbook/views.pyc
    allauth/account/admin.pyc
    allauth/account/auth_backends.pyc
    allauth/account/context_processors.pyc
    allauth/account/forms.pyc
    allauth/account/management/__init__.pyc
    allauth/account/urls.pyc
    allauth/account/views.pyc
    allauth/exceptions.pyc
    allauth/socialaccount/adapter.pyc
    allauth/socialaccount/admin.pyc
    allauth/socialaccount/app_settings.pyc
    allauth/socialaccount/context_processors.pyc
    allauth/socialaccount/forms.pyc
    allauth/socialaccount/helpers.pyc
    allauth/socialaccount/providers/base.pyc
    allauth/socialaccount/providers/facebook/forms.pyc
    allauth/socialaccount/providers/facebook/locale.pyc
    allauth/socialaccount/providers/facebook/provider.pyc
    allauth/socialaccount/providers/facebook/urls.pyc
    allauth/socialaccount/providers/facebook/views.pyc
    allauth/socialaccount/providers/google/provider.pyc
    allauth/socialaccount/providers/google/urls.pyc
    allauth/socialaccount/providers/google/views.pyc
    allauth/socialaccount/providers/linkedin/provider.pyc
    allauth/socialaccount/providers/linkedin/urls.pyc
    allauth/socialaccount/providers/linkedin/views.pyc
    allauth/socialaccount/providers/oauth/__init__.pyc
    allauth/socialaccount/providers/oauth/client.pyc
    allauth/socialaccount/providers/oauth/provider.pyc
    allauth/socialaccount/providers/oauth/urls.pyc
    allauth/socialaccount/providers/oauth/views.pyc
    allauth/socialaccount/providers/oauth2/__init__.pyc
    allauth/socialaccount/providers/oauth2/client.pyc
    allauth/socialaccount/providers/oauth2/provider.pyc
    allauth/socialaccount/providers/oauth2/urls.pyc
    allauth/socialaccount/providers/oauth2/views.pyc
    allauth/socialaccount/providers/twitter/provider.pyc
    allauth/socialaccount/providers/twitter/urls.pyc
    allauth/socialaccount/providers/twitter/views.pyc
    allauth/socialaccount/signals.pyc
    allauth/socialaccount/urls.pyc
    allauth/socialaccount/views.pyc
    allauth/urls.pyc
    crispy_forms/base.pyc
    crispy_forms/bootstrap.pyc
    crispy_forms/exceptions.pyc
    crispy_forms/helper.pyc
    crispy_forms/layout.pyc
    crispy_forms/layout_slice.pyc
    crispy_forms/utils.pyc
    feeds/views.pyc
    lettertemplate/forms.pyc
    lettertemplate/views.pyc
    quorum/forms.pyc
    quorum/views.pyc
    registration/admin.pyc
    registration/forms.pyc
    registration/models.pyc
    registration/urls.pyc
    registration/views.pyc
    rosetta/polib.pyc
    rosetta/poutil.pyc
    rosetta/signals.pyc
    rosetta/storage.pyc
    rosetta/urls.pyc
    rosetta/views.pyc
Please move or remove them before you can merge.
Aborting
4

3 に答える 3

6

.pycご覧のとおり、ファイルは常に変更されるため、おそらく追跡する必要はありません。通常、ビルド プロダクトはこの理由から git に保存されません。オプションがあれば、上流のリポジトリで追跡を解除します。

.pycそれができない場合は、ローカルファイルを移動または削除するしかありません。次のコマンドでこれを行うことができます (注: これは、現在のディレクトリ以下のすべてのファイルを削除することを前提としています。 .pyc

 find . -iname '*.pyc' -exec rm {} \;

これを行った後、上書きするローカル ファイルがないため、マージを実行できるはずです。

于 2013-07-10T14:33:20.703 に答える
5

このエラーは、リポジトリ内のファイルを追跡しているために発生.pycしています (これは行うべきではありません)。これはおそらく、 ですべてのファイルを削除してから、再度マージgit add .する必要があります。Git は、リポジトリファイルをローカル バージョンにコピーしないため、文句を言うことはありません。.pycgit rm.pyc

Nick が示唆し.pycたように、グローバル (またはリポジトリ レベル) に追跡する意味のないファイルやその他のファイルを追加すること.gitignoreは、おそらく良い考えです。その場合、git add .これらのファイルは自動的に追加されません。推奨されるファイルの GitHub の公式リストを.gitignore確認してください。

于 2013-07-10T14:31:52.310 に答える
2

これらのファイルをインデックスから削除するには、次を使用します。

find . -name *.pyc | xargs rm

次に、次のステートメントを使用してコンパイル済みの python ファイルを無視できます.gitgnore

*.py[cod]

これらのファイルを無視するように git に指示すると、警告メッセージは表示されなくなります。

「グローバル」gitignore ファイル (詳細はこちら) のコンパイル済みファイルを無視することを好みますが、リポジトリごとにこれを行うこともできます。

于 2013-07-10T14:34:21.777 に答える