高效科研+git第一期:初始git

简介: 正如作者[前期的一篇文章]对现代高效写作方式和传统word写作方式的详细对比分析中提到的写作版本控制的问题,git是版本控制的不二选择,宇宙最受欢迎的版本控制工具,没有之一!本文就悉数从零基础开始使用git进行写作(**以写作为例,其他科研任务与之相同**)控制的一二三。

高效科研工作方式:git+github

正如作者前期的一篇文章对现代高效写作方式和传统word写作方式的详细对比分析中提到的写作版本控制的问题,git是版本控制的不二选择,宇宙最受欢迎的版本控制工具,没有之一!本文就悉数从零基础开始使用git进行写作(以写作为例,其他科研任务与之相同)控制的一二三。

简介

介绍版本控制的必要性、版本控制的哲学、版本控制的工具以及git是什么

为什么要版本控制?

大家在写作过程中肯定遇到过这样的情形(比如毕业论文):在自己的毕业论文主目录下面保存一大堆不同命名方式的文件,比如 xx完成前两章备份.doc, xx写完一半备份.doc, xx导师修改版.doc, xx师兄修改版.doc, xx送审取消个人信息版.doc, xx系统提交版.doc。看到自己的这一堆文件什么感觉

上面列举的这个各种备份文件,无非是为了备份不同时间节点或者不同事件节点的论文版本。这就是所谓的版本控制,用英文说就是 Version Control (方便您在Google搜索资料) ,当然了这是一种传统的效率最低的版本控制方法!

版本控制哲学

当计算机刚出世的时候,大家只要能做这个事儿就已经很幸运了,也不会思考其效率的问题(比如我导师当年学生时期编程还是打孔方式...)。但是现在计算机硬件和软件和软件发展如此迅速,思维依然还停留在老的时间点上其实是不符合时代发展规律的!

版本控制追求的是以最小的体积存储所有用户提交的版本信息和内容;以极其方便的方式回退到不同版本;以简单至极的方式对不同版本进行对比,查找其中的差异;以效率最高的方式推送到云端以及从云端拉取!

版本控制工具

为了实现上面所追求的目标,提高工作效率,有大神们已经开发出来了版本控制。开源!免费!
常用的就是 gitsvn,但是随着github和国产的coding的普及、大量开源社区对git的推广以及git本身的优点,使得git占据了版本控制的大部分市场! 12
2018年git与svn受欢迎度调查结果

git

git是分布式版本控制软件,最早由 Linux Torvalds创建 (看这伙计的名字就知道是干嘛的了,实至名归的大神!!!),最初的目的是为了方便的控制Linux系统内核。
网上有很多关于git的教程,个人感觉廖雪峰讲的比较通俗易懂,当然了git使用本来就不是个难事儿!

后面我会针对写作过程中的常用命令进行逐个讲解和演示,但不包括windows系统下的使用过程演示!!!虽然git是跨平台的,在windows下也可以使用,但是由于win系统下的终端命令的渣渣属性使其用起来稍微不舒服!不过在win 10 的subsystem下面也可以完美使用!参见win 10系统下打造科研环境

相关文章
|
缓存 Ubuntu Linux
Vim编辑器入门指南:安装、基本操作和高级技巧详解 | 适用于Linux系统
Vim编辑器入门指南:安装、基本操作和高级技巧详解 | 适用于Linux系统
2551 0
|
7月前
|
敏捷开发 数据可视化 开发工具
如何使用分支管理代码更改?
如何使用分支管理代码更改?
527 57
|
12月前
|
机器学习/深度学习 数据可视化 PyTorch
PyTorch FlexAttention技术实践:基于BlockMask实现因果注意力与变长序列处理
本文介绍了如何使用PyTorch 2.5及以上版本中的FlexAttention和BlockMask功能,实现因果注意力机制与填充输入的处理。通过attention-gym仓库安装相关工具,并详细展示了MultiheadFlexAttention类的实现,包括前向传播函数、因果掩码和填充掩码的生成方法。实验设置部分演示了如何组合这两种掩码并应用于多头注意力模块,最终通过可视化工具验证了实现的正确性。该方法适用于处理变长序列和屏蔽未来信息的任务。
433 17
|
程序员
什么是后门
后门( Back Door )是指一种绕过安全性控制而获取对程序或系统访问权的方法。在软件的开发阶段,程序员常会在软件内创建后门以便可以修改程序中的缺陷。如果后门被其他人知道,或是在发布软件之前没有删除,那么它就成了安全隐患。
|
UED 开发者 容器
鸿蒙next版开发:ArkTS组件通用属性(背景设置)
在HarmonyOS 5.0中,ArkTS提供了多种背景设置属性,如backgroundColor、backgroundImage、backgroundSize、backgroundPosition和backgroundBlurStyle,允许开发者自定义组件的背景样式,提升应用的视觉效果和用户体验。本文详细解读了这些属性,并提供了示例代码进行说明。
1373 5
|
机器学习/深度学习 并行计算 PyTorch
深度学习环境搭建笔记(一):detectron2安装过程
这篇博客文章详细介绍了在Windows环境下,使用CUDA 10.2配置深度学习环境,并安装detectron2库的步骤,包括安装Python、pycocotools、Torch和Torchvision、fvcore,以及对Detectron2和PyTorch代码的修改。
3092 1
深度学习环境搭建笔记(一):detectron2安装过程
|
计算机视觉
论文介绍:Panoptic-DeepLab——一种简单、强大且快速的自下而上全景分割基线
【5月更文挑战第22天】Panoptic-DeepLab是UIUC和Google Research合作开发的一种高效全景分割基线,采用双ASPP和双解码器设计,优化语义和实例分割。在Cityscapes、Mapillary Vistas和COCO数据集上表现优秀,同时保持接近实时的速度。其简洁设计仅需三个损失函数,具有高通用性和可扩展性。然而,仍面临尺度变化、实例分割等挑战,需要进一步优化。[链接](https://arxiv.org/abs/1911.10194)
384 0
|
机器学习/深度学习 并行计算 PyTorch
PyTorch与DistributedDataParallel:分布式训练入门指南
【8月更文第27天】随着深度学习模型变得越来越复杂,单一GPU已经无法满足训练大规模模型的需求。分布式训练成为了加速模型训练的关键技术之一。PyTorch 提供了多种工具来支持分布式训练,其中 DistributedDataParallel (DDP) 是一个非常受欢迎且易用的选择。本文将详细介绍如何使用 PyTorch 的 DDP 模块来进行分布式训练,并通过一个简单的示例来演示其使用方法。
2238 2
|
Java
Java接口的作用、特点以及常见用法
【2月更文挑战第7天】
893 0
Java接口的作用、特点以及常见用法
|
SQL XML Java
简单理解springboot的依赖注入
依赖注入,Dependency Injection,简称DI,是spring中的核心技术,此技术贯穿Spring全局,是必须要熟练掌握的知识点。在本文中,我们将要深入研究spring中的IOC和DI,理解核心思想,并学会如何在spring boot中使用基于java和注解的方式正确使用DI来创建spring应用程序。控制反转 IOC要理解DI,首先需要理解spring的核心思想之一,控制反转(In
2943 0
简单理解springboot的依赖注入