【Git学习总结之Git的基本操作】
Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的分布式版本控制软件,可以用于敏捷高效地处理任何或小或大的项目。
Git的工作流程大致如下图所示:
截屏2021-05-27 下午5.38.58.png
- workspace:工作区
- staging area:缓存区
- local repository:本地仓库
- remote repository:远程仓库
创建仓库
git init:初始化一个空的git仓库
git init会在命令执行的当前目录生成.git子目录,所有关于该仓库的快照数据都存放在.git目录下的对应文件里
* git clone:拷贝一个已有仓库到命令执行的当前目录下
常用于从远程仓库拷贝代码到本地。
提交与修改
git add:添加文件到缓存区
可以添加一个文件-git add <file1>;也可以一次性添加多个文件-git add <file1> <file2> ...;还可以添加目录到缓存区-git add <dir>;添加当前目录下的所有文件到缓存区-git add .。
在本地仓库目录下新添加的文件,如果没有提交到缓存区,使用git status -s命令查看仓库当前状态时,这些文件前显示的状态通常是:'??'。使用git add提交到缓存区之后,他们的状态会变为:'A'
缓存区的文件有一种状态是:'AM',意思是提交到缓存区之后,文件又做了修改,这种情况下需要再次执行git add进行缓存区提交。
git status:查看仓库当前的状态,显示有变更的文件
-s选项用来获取比较简洁的输出结果
git diff:比较暂存区和工作区的文件差异
git commit:提交暂存区到本地仓库
git add用于将内容变更提交到缓存区,git commit则是用于将内容变更提交到本地仓库。
-m选项可以指定一些备注信息,用于提交内容变更的备注以便日后查找,也可以指定提交某些具体文件到本地仓库,而不是默认提交全部缓存区:git commit <file1> <file2> .... -m <message>
git reset:回退版本
git reset命令的格式如下:
git reset [--soft | --mixed | --hard] [HEAD]
--mixed为默认参数,可以不用带该参数,默认重置缓存区的文件与上一次commit的内容保持一致,工作区的内容保持不变
--soft参数用于回退到某个版本,HEAD表示当前版本;HEAD^上一个版本;HEAD^^上上一个版本;HEAD^^^上上上个版本
--hard参数撤销工作区中所有未提交的变更内容,将缓存区与工作区回到上一次版本,并删除之前所有的信息提交
git rm:删除工作区及缓存区文件
git rm <file>:将文件从缓存区合工作区中删除;如果删除前已经修改并提交到缓存区,则必须要加-f选项;如果只是想删除缓存区的文件,则需要添加--cached选项-git rm --cached <file1>