Я просто настроил свой новый репозиторий git с настройкой p4merge в качестве внешнего инструмента git mergetool. Я на Mac, и я только что следовал руководству по git для внешних инструментов слияния:
https://git-scm.com/book/en/v2/Customizing-Git-Git-Configuration
Я проработал свои конфликты слияния и заметил, что он, похоже, держит отдельный экземпляр p4merge открытым для каждого нового открытого конфликта классов. В моем старом репозитории я просто нажимал «Сохранить», закрывал окно, и git автоматически открывал следующий конфликт (в то время я также работал в Windows). Теперь это, казалось, приводило только к тому, что сохранение сохранялось только в половине случаев, и мне приходилось продолжать вводить «git mergetool» в терминал, чтобы вернуться в p4merge. После того, как я все сделал, моя ветка была чистой, но все эти отдельные процессы для p4merge все еще были открыты. Закрытие их всех вызвало кучу ошибок в командной строке, а затем я получил ТОННУ базовых/локальных/удаленных артефактов. Сейчас статус моей ветки выглядит примерно так:
modified: src/main/java/com/utils/ClientResponseUtils.java.orig
deleted: src/main/java/com/utils/ClientResponseUtils_BACKUP_70929.java
deleted: src/main/java/com/utils/ClientResponseUtils_BASE_70929.java
deleted: src/main/java/com/utils/ClientResponseUtils_LOCAL_70929.java
deleted: src/main/java/com/utils/ClientResponseUtils_REMOTE_70929.java
modified: src/main/java/com/utils/ListUtils.java.orig
deleted: src/main/java/com/utils/ListUtils_BACKUP_85524.java
deleted: src/main/java/com/utils/ListUtils_BASE_85524.java
deleted: src/main/java/com/utils/ListUtils_LOCAL_85524.java
deleted: src/main/java/com/utils/ListUtils_REMOTE_85524.java
За исключением НАМНОГО, НАМНОГО длиннее, у него в основном есть набор из них для всего, к чему я прикасался, и это было много классов в слиянии.
Как мне пройти через это быстро, не проверяя каждого по отдельности, и как предотвратить повторение этого в будущем?
Заглянув немного дальше, прежде чем публиковать, я понимаю, что эта страница поддержки может помочь мне очистить мое использование командной строки:
http://answers.perforce.com/articles/KB/2848/
Но мне все еще интересно, как лучше всего убрать такой ужасный и затянувшийся беспорядок, и почему это вообще произошло.
git mergetool
в первую очередь), поэтому у меня нет советов, как его использовать, но все эти временные файлы с именами*_BACKUP_*
,*_BASE_*
и т. д.git mergetool
сама создает. Они не должны отображаться как удаленные не потому, что это не так, а потому, что они вообще не должны были быть зафиксированы. Чтобы отображаться как удаленные, кто-то должен был добавить и зафиксировать их, предположительно по ошибке. - person torek   schedule 06.06.2017