Выложите статью на GitHub
Инициализируйте, игнорируйте дополнительные файлы, частное репо, привычки, которые позволяют соавторским слияниям оставаться в здравом уме.
Разместите статью на GitHub
Рукопись LaTeX представляет собой обычный текст, что делает ее идеально подходящей для Git. Каждый черновик становится коммитом, к которому вы можете вернуться, каждое изменение отображается как разница на уровне строки, а GitHub предоставляет вам внешнюю копию, а также возможность соавторам получить текущее состояние. Ничто из этого не требует продвинутого Git. Для статьи потребуется, возможно, пять последовательно используемых команд.
Первоначальная настройка
git init# add a .gitignore for *.aux *.log *.out *.toc *.synctex.gzgit add main.tex refs.bib figures/git commit -m "Initial manuscript"gh repo create my-paper --private --source=. --pushЗапустите это один раз в папке проекта. Шаг .gitignore имеет большее значение, чем кажется. Каждая компиляция восстанавливает файлы .aux, .log, .out, .toc и .synctex.gz, и их фиксация скрывает ваши реальные изменения под машинным шумом и создает бессмысленные конфликты слияния между соавторами. Отслеживайте только то, что вы автор: исходники .tex, базу данных .bib, рисунки и любые файлы классов или стилей, которые вам предоставило место проведения. PDF-файл также является продуктом сборки. Большинство команд оставляют его и перестраивают локально, хотя прикрепление его к отмеченному выпуску — разумный способ заморозить отправленную версию. Сохраняйте репозиторий закрытым, пока работа не станет общедоступной. Неопубликованная рукопись не подлежит индексированию.
Привычки, которые помогают соавторам оставаться в здравом уме
В каждом случае сделайте одно логическое изменение, например «пересмотрите введение к разделу 3» или «добавьте таблицу абляции». Тогда история читается как история статьи, и неудачное редактирование можно отменить без побочного ущерба. Потяните, прежде чем начать писать, и надавите, когда остановитесь. Конфликты слияния растут с увеличением времени, которое ветки проводят отдельно. Никогда не нажимайте принудительно на общую ветку, если соавторы ее удалили: это переписывает историю у них под ногами. Храните большие двоичные артефакты (наборы данных, видео) в бумажном хранилище. Свяжите архив или используйте отдельный репозиторий данных. Git хранит каждую версию каждого двоичного файла навсегда.
Одна привычка, характерная для LaTeX: написание одного предложения в каждой строке исходного текста делает различия значительно более читаемыми, поскольку редактирование одного слова отображается как изменение одной строки, а не как перекомпонованный абзац.
Как Oleafly вписывается
Каждый проект Oleafly представляет собой обычную папку на диске, поэтому эти команды работают с ним без изменений. Приложение также может автоматически создавать коммит Git после каждой успешной компиляции, что обеспечивает надежную защиту между преднамеренными коммитами. См. История Git. О шаблонах совместной работы, построенных на основе этого, включая обмен патчами и владение главами, см. в разделе Соавтор без живого курсора.