1.1 Git常用命令
- 工作区(working directory)
- 暂存区(stage)
- 版本库
他们之间的关系为:
通过git status
查看git
状态时,红色的文件表示在工作区;绿色的文件表示在暂存区:
工作区中的文件只要通过git add
命令添加进了Git
仓库,就会被追踪。
暂存区也称为index,不过常使用stage表示
git常用命令
创建版本库 | 版本控制 | 远程协作 | 查看信息 |
---|---|---|---|
git init |
git add |
git pull |
git help |
git clone |
git commit |
git push |
git log |
* | git rm |
* | git diff |
查看状态
1.git status¶
查看工作区的状态,该命令经常使用;每执行一条指令后,都应使用该命令查看工作区和暂存区的状态;红色表示对文件的更改还没提交到暂存区;绿色表示已提交到暂存区;
工作区->
暂存区
1.git add <file>
¶
将工作区中的文件提交到暂存区:
git add test.txt
:将工作区中的test.txt
提交到暂存区;git add test.txt test2.txt
:将工作区中的test.txt
和test2.txt
提交到暂存区;git add .
:将当前目录及其子目录下的所有文件从工作区提交到暂存区中;
暂存区->
版本库¶
1.git commit -m '注释'
将暂存区中的文件提交到版本库,一定要添加注释,否则不让提交;当注释很短时采用-m
方式(m
为message
的意思);
2.git commit
当注释很长时,可以直接执行git commit
,进入vim
编辑器界面,在此处编写较长的注释,添加完注释后,通过wq
保存并退出即可:
3.git commit -am '注释'
表示添加当前目录下所有已被git
追踪的文件到暂存区中并提交,即相当于是git add .
与git commit
两步操作的合成。
该方式只适用于已被git
追踪的文件(即文件至少提交过一次),当文件第一次提交到暂存区时(此时该文件并未被git
追踪)不可以使用该命令,而是要分开写,否则会报错:
暂存区->
工作区
简单来说,就是将git status
指令显示出来的文件,从绿色变为红色,大概有如下三种方法:
1.git rm --cached <file>
删除缓存区中的<file>
文件,并将其还原到工作区。该指令需要对暂存区删除的文件进行一次提交操作,所以建议用第二种方法;
git restore --stage <file>
通过该指令,将文件从缓存区中移动到工作区,这里的参数--stage
写成--staged
效果是一样的:
小贴士:可以使用tab键补全命令;
git reset HEAD <file>
将文件从缓存区中移到工作区,作用与方法2一样:
撤销操作
这里指的是撤销工作区中对文件的操作,包括新增、修改、删除等,配合着前面第七点所讲的指令使用。大概有以下两种方法:
git checkout -- <file>
可以撤销工作区中对flie
文件的改动操作(包括删除):注意--
后面要跟上空格:如果修改已经通过git add
提交到暂存区,该指令无效。
git restore <file>
可以撤销工作区中对file
文件的操作,效果与方法1
相同;