Git官网:https://git-scm.com。本篇将介绍如何在本地使用Git实现文件的版本控制,但不建议一开始就在工作中使用Git,防止误操作使得历史版本的数据丢失。日常主要还是通过复制文件并重命名来进行版本控制,这样更稳妥些。只有当熟练掌握Git原理和操作方法之后,Git版本管理才比较安全。
这是之前的一篇:Github基础操作和Git常用命令,主要介绍快速使用Github(一个Git的远程仓库)的方法,在这里一些基础的Git命令也会重新提到。本篇将侧重于在本地实现文件的版本控制,不涉及到远程仓库。
另外,推荐使用VSCode软件来做Git的基本操作,参考这篇:使用VSCode写Python、Latex、Markdown等。对于复杂的操作,还是需要通过命令行来完成。
一、使用Git进行版本控制的基本操作
- 新建文件夹“git_test”。可通过系统的cmd或VScode软件来打开终端,进入该目录。
- 第一次使用Git时,需要设置下邮箱和名字:
- 查看:git config --list
- 设置邮箱:git config --global user.email "you@example.com"
- 设置名字:git config --global user.name "your name"
- 在终端输入命令:git init,对文件夹进行初始化,在文件夹中会出现一个”.git“的隐藏文件夹。
- 在目录中新建文件“test.md”,输入文本内容“111111"。
- 在终端输入命令:git add .(后面有个小点),添加修改的内容(存到暂缓区)。
- 在终端输入命令:git commit -m 初稿,提交修改内容(存到版本库)。建议把后面起的名字'初稿'直接写成具体的修改内容,方便后续查看。
- 同时执行add和commit的命令:git commit -a -m 初稿。
- 增加文本内容“222222”,输入命令:git commit -a -m 修改版。
- 增加文本内容“333333”,输入命令:git commit -a -m 修改版2。
- 在终端中输入命令:git log,查看历史提交记录。此外,可以在VScode软件中安装Git History Diff插件,从而可以查看每个版本具体的修改内容和对比。
二、回退版本的操作
- 查询命令:git log,查询历史commit的ID,复制某个ID。
- 回退版本命令:git reset --hard 某ID,将内容回退到某个版本。需要注意的是:这种回退方法会使得某个版本后的版本数据全部丢失,所以要谨慎使用,也不推荐使用。推荐使用创建分支的方法,即使是废弃版本的分支,当想要重新使用时,也不至于数据丢失而重新书写。
三、分支管理的基本操作
- 查看分支:git branch,其中master分支为git init后的默认分支。
- 创建分支:git branch new_branch,创建名为“new_branch”的分支。
- 切换分支:git switch new_branch,切换到“new_branch”分支。使用git branch命令查看,可看到星号在“new_branch”前面。
- 在“new_branch”下,增加文本内容“new_branch_content”,之后输入命令:git commit -a -m 分支测试。
- 在终端输入命令:git switch master,回到master分支,可以看到文件中没有了“new_branch_content”的内容。
- 在某分支下(如master分支),合并new_branch分支的命令:git merge new_branch,那么会将new_branch的修改内容合并到master中。如果遇到冲突的情况,则无法合并,需要单独进行处理,比如选择接收哪个分支,或者同时接收两种分支的内容。
- 在非当前分支下,删除分支的命令:git branch -d new_branch。
四、基于历史版本创建分支
以上是基于当前版本创建分支,在实际应用中比较多的可能是打算在某个历史版本中开始创建分支,从而废弃当前分支。下面是具体步骤(增加了ID的内容):
- 查询命令:git log,查询历史commit的ID,复制某个ID。
- 创建分支:git branch new_branch_2 某ID,则基于该ID的版本创建名为“new_branch_2”的分支。
- 切换分支:git switch new_branch_2。
分支管理示意图[1]:

参考资料:
[1] https://www.runoob.com/git/git-tutorial.html
【说明:本站主要是个人的一些笔记和代码分享,内容可能会不定期修改。为了使全网显示的始终是最新版本,这里的文章未经同意请勿转载。引用请注明出处:https://www.guanjihuan.com】
(1)在保留浏览器缓存的前提下,目前支持72小时自主修改或删除个人评论。如果自己无法修改或删除评论,可再次评论或联系我。如有发现广告留言,请勿点击链接,博主会不定期删除。
(2)评论支持Latex公式。把latexpage作为标签放在任何位置,评论中的公式可正常编译,示例: (3)本站评论支持代码格式。在代码前后加上以下标签,留言可保留缩进显示代码: