совместная разработка кода github (только 2 пользователя) создает неразрешимые конфликты push / pull - PullRequest
1 голос
/ 30 марта 2020

Мы пытаемся использовать github, но, похоже, мы используем его совершенно неправильно. Я создал хранилище с файлами необработанных данных, исходным кодом, обработанными файлами данных, файлами результатов (такими как файлы png и html и csv). Пока я был единственным, кто использовал это, все было хорошо. Тем не менее, я предоставил доступ к соавтору, и теперь мы с ней совершенно не можем вытащить или извлечь sh из хранилища. Кажется, что создание обработанных файлов данных создает несовместимости, которые делают извлечение данных / pu sh невозможным для нас обоих. В самом деле, мы должны удалить всю новую работу, чтобы получить ее, что делает github нецелесообразным по своему прямому назначению - разработке кода (и результатов и цифр и т. Д. c.)

Мы находимся в тупик. Все текущие обходные пути в высшей степени неоптимальны: а) для работы с понятием, что github является однопользовательской парадигмой, б) использовать git хаб для передачи файлов, но не задействовать его в активной разработке, поэтому он становится сложным выпадающим списком.

Я думаю лучшая стратегия состоит в том, чтобы удалить все, кроме самых простых исходных файлов и, возможно, исходного неприкасаемого исходного файла данных. Меньше - больше. (Нет ничего лучше?) Но даже удаление файлов из активного репозитория явно не поддерживается. То есть я могу добавлять файлы в .gitignore. Я могу удалить их из моего локального изображения. Но я должен потянуть, прежде чем я sh, и все они появляются снова. Перебазировка - это не ответ.

Есть ли какой-нибудь способ "pu sh" для события удаления файла? Или удалить все файлы, кроме 3 или 4, из учетной записи github.com? Или я должен просто удалить весь репозиторий и начать все сначала? Или я должен go вернуться к svn, у которого не было проблем с наложением png файлов и т. Д. c., И который объявил конфликт только тогда, когда он был в исходном файле?

Есть ли способ научить github для объединения только тех файлов, которые должны быть разумно объединены, например, файлы с суффиксами .R, .h,. c,. cpp, .py,. javac,. html, и др c. и просто наложить другие файлы с соответствующими приращениями номера версии, как в svn?

Попытки найти ответы на эти вопросы в документации и в Интернете только увековечивают разочарование.

Спасибо за ваш совет.

1 Ответ

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

В идеале Git (и репозитории в GitHub) следует использовать для исходного кода, а не для сгенерированных файлов (ваших "файлов результатов").
"исходный неприкасаемый исходный файл необработанных данных. " может также быть версионным, если они являются неизменяемыми.

Если вам нужно добавить сгенерированные файлы (которые могут меняться каждый раз, когда вы фиксируете новый исходный код, и будут генерировать конфликты), вы можете рассмотреть, чтобы запомнить упомянутые файлы, чтобы:

Но это кажется обременительным для каждого коммита.

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