Git的常用操作
找到后端的工作了,入行在即,故提前预习准备。
Git有什么用?
Git是目前世界上最先进的分布式版本控制系统(没有之一)。
可以用来管理文件或代码的各个版本,免除因多次迭代修改导致的同一个文件或项目存在多个版本,却只能通过命名,或者打开文件才能确认甚至不确定是不是自己想要的那个版本的文件。避免了一个文件夹存在(论文初稿,论文修改版1,最终不改版,绝对不修改版,……)等版本的尴尬, 而且随着时间流逝,等日后需要寻找相应版本时,靠记忆寻找版本显得有些许不可信与吃力。Git可以提供此方面的帮助,并且还要其他功能也可在更多方面助力工作。
Git的安装
因此文章为个人复习用,我也是参考廖雪峰老师的网站学习,故更详细的可以去参阅前辈的文章。
廖雪峰老师的git教程
常用操作(操作系统为MacOS)
首先找一个合适的位置,创建我们练习用的文件夹和readme.txt用来作为测试文件。
然后进入该文件夹,通过git init把目录变成git管理的目录。
➜ ~ cd Desktop
➜ Desktop mkdir gitTest
➜ Desktop cd gitTest
➜ gitTest touch readme.txt
➜ gitTest git init
Initialized empty Git repository in /Users/lzr/Desktop/gitTest/.git/
在readme.txt中随便编写一些内容。
输入命令:
把该文件下所有文件添加到仓库 (也可以git add readme.txt 只添加一个文件)
git add .
把文件提交到仓库(刚刚只是提交到暂存区,commit了才相当于真的保存了一个版本, 后面的-m’’ 中可以添加对这次提交的描述)
git commit -m 'first commit'
现在开始体验版本控制的功能
使用版本管理
刚刚的文档内容是hello git!!
现在修改一下内容,然后用命令
git status
可以查看当前状态
可以看到git告诉我们readme这个文件已经被修改过,但是还没有提交,用gif diff readme.txt
可以看到修改过哪些地方
重复流程
git add .
git commit -m 'commit 2'
就可以进行第二次提交。
完成了后,版本库就有两个版本,分别是刚刚的两次提交。
使用版本回退
命令git log
可以看到当前提交了多少次在版本库中。
使用命令git reset --hard HEAD^
来回退到上一个版本
^^就是上两个版本,HEAD~50就是上50个版本
可以看到,回退版本后,上次提交的修改不见了,变成了第一次提交时的内容。
ok,现在你又后悔了,又想回到第二次提交的状态了,使用命令git reflog
就能看到你进行的每一次操作,找到第二次提交的版本号,494787f
使用命令git reset --hard 494787f
版本号不需要全部打全,可以打一部分 如果还不足以找到唯一的版本号的话 git应该会提示你
你就会看到,文件版本又回到了第二次提交的时候。
撤销修改
当你修改文件后,发现内容有很大的错误,但是已经git add .
提交到暂存区了。
可以看到下面状态提示,可以通过git restore --staged <file>
来进行取消已经在暂存区的文件。
故用命令git restore --staged .
取消所有。
可以看到状态中已经取消了。
然后可以看到git提示可以丢弃工作区(其实就是被git管理的这个文件夹,你可以直接看到的)中的修改.
使用命令git retore .
丢弃工作区的修改。
打开工作区查看发现文件被恢复了。
删除文件
如果不小心把工作区的readme.txt删除了。
如何通过git找回呢?
先git status
,会发现状态管理指出了有文件被删除了.
根据提示,可以这次修改提交到暂存区,或者用git restore .
来撤销工作区的改动。
可以看到文件肥来啦。。
那如果确实想要删除呢,也是根据提示用命令git rm .
移除掉,或者git add .
提交到暂存区。