将论文放在 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 历史记录。有关在此基础上构建的协作模式,包括补丁交换和章节所有权,请参阅不使用实时光标共同创作。