Git
Git是目前世界上最先进的分布式版本控制系统。
集中式和分布式版本控制系统的区别
- 集中式版本控制系统将版本库存放在中央服务器。干活的时候,要先从中央服务器取得最新的版本,干完活了,再把自己的活推送给中央服务器。而且,此过程必须联网。
- 分布式版本控制系统没有中央服务器,每个人的电脑都有一个完整的版本库。多人协作时,只需把各自的修改推送给对方。
版本控制系统
版本控制系统只能跟踪文本文件的变化,比如txt文件、网页、程序代码等;不能跟踪二进制文件,比如图片、视频等,无法知道它们到底改了啥,只能知道它们大小的变化。
常用命令
工作区和暂存区
一个Git管理的目录就是工作区,而其中的.git目录就是版本库。
仓库的创建与修改的提交
git init:将当前目录变成Git可以管理的仓库。
git add:把修改添加到暂存区。
git commit:将暂存区的修改提交到分支。
-m 参数:本次提交的说明,建议写上。
git status:显示仓库当前的状态,比如有什么文件有修改了,还没有添加到暂存区;或者暂存区有什么修改还没有被提交。
git diff:查看具体修改的内容。
版本回退
git log:查看提交日志。
–pretty=oneline参数:让日志的显示更简洁。
git reflog:查看命令日志。
git reset –hard head^:回退到上个版本。
head表示当前版本,head^表示上一个版本,head^^表示上上个版本,head~100表示上100个版本。
git reset –hard 版本号:可以通过 git log或者git reflog查找版本号,回到未来的某个版本。
撤销修改
- git restore
:修改还没有添加到暂存区,可以用此命令撤销工作区的修改。 - git restore –staged
:修改已经添加到暂存区,可以用此命令撤销暂存区的修改,将修改放回工作区 。 - **git reset head
**:作用和git restore –staged 一样。
git restore等命令都是用版本库里的版本来进行替换。
删除文件
git rm:先手动删除文件,再使用git rm命令,最后使用git submit命令提交。这样就从版本库里将文件删除了。
- 提示:删除文件后,使用git rm和git add命令,二者效果一样,都是将修改添加到暂存区。
- 可以先后使用git restore –staged和git restore命令撤销删除。
