174

マージ中に .orig ファイルが私の git リポジトリでどのようにチェックされるか、変更された追跡されていないセクターに表示されるようになりました。しかし、このファイルをリポジトリにもう入れたくありません。どうやってするか。

    modified:   Gemfile.lock.orig
    #   modified:   Gemfile.orig
    #   modified:   app/assets/images/bg_required.png.orig
    #   modified:   app/assets/javascripts/application.js.orig

    etc...

どんな助けでも大歓迎です。

4

11 に答える 11

294

この場合の最善の解決策は、シンプルに保ち、git とは別にこれらのファイルを削除することです。

cd /your/repo/directory
find . -name '*.orig' -delete 

または、Windows/PowerShell では、次のコマンドを実行できます。

cd \your\repo\directory
Get-ChildItem -Recurse -Filter '*.orig' | Remove-Item
于 2014-01-03T02:46:29.853 に答える
156

ここまたはここでgit clean見つけることができる詳細情報を試してください

于 2012-09-11T09:01:33.997 に答える
111

できるよ:

git config --global mergetool.keepBackup false

詳細については、Git mergetool が不要な .orig ファイルを生成するを参照してください。

于 2015-12-08T06:57:15.033 に答える
6

.gitignore を使用してファイルを無視できます

ここに示すように *.orig をリストに入れるだけです

https://help.github.com/articles/ignoring-files

現在のファイルを削除するには、シェルスクリプトを作成して、以下のようにプロジェクトフォルダーから実行できます

for file in `find *.orig -type f -print`
do
   echo "Deleting file $file"
   git rm $file -f       
done
于 2012-09-11T09:01:29.907 に答える
3

git rm Gemfile.lock.orig そしてあなたが必要としない残りのファイル。 git commit --amend

それらのブロブを完全に削除するには、 git gc --prune=0 --aggressive

于 2012-09-11T10:05:18.417 に答える
0

このプロセスは pre-commit フックで自動化できます。これを行うには、プロジェクト フォルダー内に移動し、隠しフォルダーを検索します.git。その中にhooksディレクトリがあり、それを開くと、cr8 という名前pre-commitの次のファイルが含まれます。

echo "Looking for .orig files to remove"
pwd=$(pwd)
find . -name '*.orig' -delete 
echo "Done removing .orig files"

これで、何かをコミットする前に常に orig ファイルがクリーンアップされるため、gitignore に保持する必要はありません。

于 2020-10-09T11:28:59.587 に答える
-4

git rm <file>

http://git-scm.com/docs/git-rm

また、無視したいファイル/ディレクトリを .gitignore ファイルに追加します。

于 2012-09-11T09:01:20.630 に答える