Git слияние: конфликт, я не знаю, как решить - PullRequest
2 голосов
/ 10 марта 2020

У меня есть Django проект на Git

Мне не очень комфортно с Git

У меня есть окончательное завершение, коммит и pu sh моя функция / 22 ответвление

У меня есть коммит (после git add.) и pu sh мой мастер

Итак, мои две ветви обновлены

Теперь я бы хотел чтобы объединить моего мастера с моей функцией / 22 локально, но у меня есть конфликт

Даже после фиксации у меня есть 2 файла в «Unmerge paths»:

Unmerged paths:
  (use "git add <file>..." to mark resolution)
        both modified:   unblind/migrations/__pycache__/0002_auto_20200124_0904.cpython-37.pyc
        both modified:   unblind/migrations/__pycache__/0003_auto_20200124_1007.cpython-37.pyc

Что если я использую рекомендованный команда git add?

Почему эти 2 файла не содержались в предыдущем git add. команда?

РЕДАКТИРОВАТЬ:

$ git merge feature/22
warning: Cannot merge binary files: unblind/migrations/__pycache__/0003_auto_20200124_1007.cpython-37.pyc (HEAD vs. feature/22)
warning: Cannot merge binary files: unblind/migrations/__pycache__/0002_auto_20200124_0904.cpython-37.pyc (HEAD vs. feature/22)
Auto-merging unblind/migrations/__pycache__/0003_auto_20200124_1007.cpython-37.pyc
CONFLICT (content): Merge conflict in unblind/migrations/__pycache__/0003_auto_20200124_1007.cpython-37.pyc
Auto-merging unblind/migrations/__pycache__/0002_auto_20200124_0904.cpython-37.pyc
CONFLICT (content): Merge conflict in unblind/migrations/__pycache__/0002_auto_20200124_0904.cpython-37.pyc
Removing randomization/templates/randomization/_randomisation_edit.html
Automatic merge failed; fix conflicts and then commit the result.

РЕДАКТИРОВАТЬ2:

Я временно решил мою проблему слияния:

  • git функция извлечения / 22 * ​​1032 *
  • rm (все файлы, которые были упомянуты в CONFLICT при объединении master / feature / 22 * ​​1034 *
  • git commit -m "delete * .py c "
  • git мастер проверки
  • git функция объединения / 22 * ​​1040 *
  • git pu sh мастер происхождения

НО .py c все еще отслеживаются, и после запуска моего django проекта на мастере, если я делаю git статус:

$ git status
On branch master
Your branch is up to date with 'origin/master'.

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
        modified:   export/migrations/__pycache__/__init__.cpython-37.pyc
        modified:   parameters/migrations/__pycache__/0003_auto_20200128_1337.cpython-37.pyc
        modified:   parameters/migrations/__pycache__/0004_auto_20200129_1206.cpython-37.pyc
        modified:   parameters/migrations/__pycache__/0005_auto_20200305_0810.cpython-37.pyc
        modified:   parameters/migrations/__pycache__/0006_auto_20200305_1238.cpython-37.pyc
        modified:   parameters/migrations/__pycache__/0007_auto_20200305_1242.cpython-37.pyc
        modified:   parameters/migrations/__pycache__/0008_auto_20200305_1428.cpython-37.pyc
        modified:   pharmacy/migrations/__pycache__/0001_initial.cpython-37.pyc
        modified:   pharmacy/migrations/__pycache__/0002_auto_20200129_1206.cpython-37.pyc
        modified:   pharmacy/migrations/__pycache__/0003_auto_20200129_1434.cpython-37.pyc
        modified:   pharmacy/migrations/__pycache__/0004_auto_20200210_1750.cpython-37.pyc
        modified:   pharmacy/migrations/__pycache__/0005_historicalstock_stock.cpython-37.pyc
        modified:   pharmacy/migrations/__pycache__/0006_auto_20200218_1344.cpython-37.pyc
        modified:   pharmacy/migrations/__pycache__/0007_auto_20200218_1359.cpython-37.pyc
        modified:   pharmacy/migrations/__pycache__/0008_auto_20200218_1403.cpython-37.pyc
        modified:   pharmacy/migrations/__pycache__/0009_auto_20200218_1410.cpython-37.pyc
        modified:   pharmacy/migrations/__pycache__/0010_auto_20200302_1059.cpython-37.pyc
        modified:   pharmacy/migrations/__pycache__/__init__.cpython-37.pyc
        modified:   randomization/migrations/__pycache__/0008_auto_20200302_1059.cpython-37.pyc

Untracked files:
  (use "git add <file>..." to include in what will be committed)
        unblind/migrations/__pycache__/

no changes added to commit (use "git add" and/or "git commit -a")

Ответы [ 3 ]

2 голосов
/ 10 марта 2020

Вы можете игнорировать любую папку /__pycache__/ из вашего проекта.

  1. Если у вас еще нет .gitignore, вы можете сделать его прямо в папке вашего проекта: project/.gitignore.
  2. Поместить */__pycache__/* в .gitignore
0 голосов
/ 16 апреля 2020

удалите эти кэшированные файлы с помощью

rm -rf <path_of_filename>

, старайтесь не набирать sh свой код с помощью

 git add.

. Продолжайте практику, чтобы начать добавлять

.gitignore

перед запуском любого проекта и добавление в него кеша скомпилированных файлов.

0 голосов
/ 10 марта 2020

Никогда не рекомендуется хранить файлы pycache в своем хранилище git. Эти файлы автоматически генерируются модулем py_compile в каждой сборке.

Вы можете добавить эти файлы для разрешения конфликта слияния, но я рекомендую использовать .gitignore на root вашего проекта.

Вот хороший .gitignore добавить в свой проект.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...