用于研究论文的 Git:与合著者实际有效的方法
忽略规则、章节所有权、提交消息、私人遥控器,以及具有真正 Git、分叉和 AI 检查点的研究工作区如何在不让 Git 成为第二份工作的情况下保持论文可恢复。
研究人员已经使用 Git 来编写代码。论文看起来很像代码:纯文本, 包括,构建垃圾。将手稿放入存储库并不那么奇怪 一旦你尝试过一次就会发出声音。
忽略垃圾
LaTeX 的一个合理的 .gitignore:
*.aux*.log*.out*.toc*.synctex.gz*.bbl*.blg*.fdb_latexmk*.fls提交.tex,.bib,数字你无法重新生成,并且类文件如果
大学需要它。除非期刊想要,否则跳过提交每个 PDF
存档中的二进制文件。
如果您的编辑器为您启动 Git,请检查构建缓存和 PDF 中间体被忽略。来自 aux 文件的空“噪音”流提交 使日志毫无价值。你停止阅读它,那么历史就无济于事了 当东西坏了的时候你。
自己的文件,而不是行
两个人同段就是合并痛苦。更喜欢章节或章节 所有权。当组足够大以进行审查时使用拉取请求 实际上有帮助。
在一个缓冲区中进行实时多用户输入是一种不同的工具(浏览器 LaTeX 编辑)。 Git 协作更慢、更明确:分支、推送、审查。 当您需要书面记录时,这很有效。当三个人必须输入 今天下午一起抽象,选别的东西。
提交将来您可以阅读的消息
“修东西”三个月后就没用了。 《重写变压器相关工作》 就足够了。两层帮助:
- 您指定的里程碑:部分草稿、提交、相机准备就绪。
- 安全检查点:频繁快照,这样糟糕的下午就可以逆转。
如果您的编辑器在成功编译后或停止输入后设置检查点, 将这些视为地板,而不是唯一的历史。当出现以下情况时,写一条真实的消息: 部分土地或草稿归共同作者所有。
私人遥控器
未发布的作品属于私有 GitHub 或 GitLab 项目。毕业和 实验室迁移是指人们无法访问随机云编辑器帐户。一个遥控器 你控制的是备份。
有网络时推送。不要等到截止日期前一天晚上才 发现遥控器从未连接过。
本地编译、远程备份
大多数星期循环看起来像这样:离线编辑和编译,当你 有网络。您不需要实时浏览器会话来打字。
您希望从工具中获得什么:
- 每个项目都已经是一个真正的 Git 存储库(不要忘记
git init) - 成功编译和空闲编辑后的自动检查点
- 在同一个应用程序中进行阶段、并排比较、丢弃和一键恢复 编辑器和 PDF
- GitHub 可选用于遥控器;历史记录已在磁盘上运行
- 分叉一个具有完整历史记录的整个项目以进行并行实验(有风险 方法重写,备用简历),同时提交副本保持不变
- AI编辑,如果启用它们,首先检查点并仅通过 批准差异
Oleafly 的构建是
方式:普通文件夹,真正的“.git”,自动检查点,命名文件
已移动,具有可编辑工作树差异的源代码控制面板,之后恢复
确认,可选的 GitHub 发布/推送/拉取(前/后),项目分叉
图书馆里的血统。终端 git log 与应用程序匹配,因为它是
相同的存储库。当你使用人工智能检查点时,它会落在相同的位置
您从中恢复的历史记录。
您可以通过仔细的习惯和单独的 Git 来近似实现这一点 客户。区别在于历史是否是你设定并记住的东西, 或者研究工作区在第一天假设的 SyncTeX 旁边的东西 编译。
Git 无法解决的问题
Git 不会取代只打开 PDF 的 PI 的评论,也不会 决定谁的摘要是正确的。二进制数字仍然合并得很糟糕,所以保留 它们很小,更喜欢可以再生的地块,并尽早就所有权达成一致。
对于拒绝 Git 的合著者,请导出 PDF 或 DOCX 以供审阅,并将“.tex”保留为 真相的来源。参见 只讲 Word 的合著者。
最低限度的练习
- 每篇论文或论文一个 repo,而不是整个职业生涯的一个大型 repo。
.gitignore用于第一天构建垃圾。 3.多人编辑时的章节所有权。- 具有可读消息的里程碑提交。 5.在工作之前连接私人远程。
- 故意恢复测试一次,因此第一个紧急情况不是第一个 恢复。
如果你坚持这个列表,Git 论文大部分都会消失在 背景。你想要的是在截止日期之前无聊的可靠性,而不是第二个爱好。