git的三个区:
git的三种状态:
注意
- 工作区的文件被修改了,但还没有放到暂存区,就是已修改状态
- 如果文件已修改并放入暂存区,就属于已暂存状态
- 如果 Git 仓库中保存着特定版本的文件,就属于已提交状态
初始化并查看当前状态
可以用git status
查看当前状态
在状态报告中可以看到新建的 index.html 文件出现在 Untracked files (未跟踪的文件)
下面未跟踪的文件意味着 Git 在之前的快照(提交)中没有这些文件
,Git 不会自动将之纳入跟踪范围,除非明确地告诉它“我需要使用 Git 跟踪管理该文件”
使用 git status 输出的状态报告很详细,但有些繁琐。如果希望以精简的方式显示文件的状态,可以使用如下两条完全等价的命令,其中 -s 是 --short 的简写形式:
未跟踪文件前面有红色的??
标记
跟踪新文件:添加暂存区
使用命令 git add
开始跟踪一个文件。所以,要跟踪html文件,运行如下的命令即可:
跟踪,并处于暂存状态:
此时再运行 git status
命令,会看到 html文件在 Changes to be committed
这行的下面,说明已被跟踪
,并处于暂存状态
:
以精简的方式显示文件的状态
新添加到暂存区中的文件前面有绿色的 A标记
提交文件:提交本地库
现在暂存区中有一个index.html文件等待被提交
到 Git 仓库中进行保存。可以执行 git commit
命令进行提交,其中-m 选项后面是本次的提交消息,用来对提交的内容做进一步的描述:
再次用git status查看当前状态
目前,index.html文件已经被 Git 跟踪
,并且工作区
和 Git 仓库
中的html文件内容保持一致。
证明工作区中所有的文件都处于“未修改
”的状态,没有任何文件需要被提交。
现在对文件内容进行了修改,再次用git status
新增文件夹后,用git status 显示处于未修改状态
被修改内容的html会出现一个感叹号!
modified
表示已经被修改
文件html出现在 Changes not staged for commit
这行下面,说明已跟踪文件的内容发生了变化,但还没有放到暂存区
注意:修改过的、没有放入暂存区的文件前面有红色的 M
标记。
暂存已修改的文件
目前,工作区中的index.html文件已被修改,如果要暂存这次修改,需要再次运行 git add 命令,这个命令是个多功能的命令,主要有如下3个功效:
- 可以用它
开始跟踪新文件
- 把
已跟踪的、且已修改
的文件放到暂存区 - 把有冲突的文件标记为已解决状态
查看精简版
绿色的modified表示已修改,并且被加入了暂存区。
再次提交文件
再次运行 git commit -m"提交消息"
命令,即可将暂存区中记录的 index.html 的快照,提交到 Git 仓库中进行保存:
撤销对文件的修改
撤销对文件的修改指的是: 把对工作区中对应文件的修改,还原成 Git 仓库中所保存的版本。
操作的结果:所有的修改会丢失,且无法恢复!危险性比较高,请慎重操作!
撤销全部修改的文件
git checkout .
如果是一个文件:git checkout -- test.html
操作暂存区中的文件
1、取消暂存的文件
2、跳过使用暂存区域
Git 标准的工作流程是工作区 -> 暂存区-> Gt 仓库,但有时候这么做略显繁琐,此时可以跳过暂存区,直接将工作区中的修改提交到 Git 仓库,这时候 Git 工作的流程简化为了工作区->Git 仓库
Git 提供了一个跳过使用暂存区域的方式,只要在提交的时候,给 git commit
加上-a
选项,Git 就会自动把所有已经跟踪过的文件暂存起来一并提交,从而跳过 gitadd 步骤:
新建立的文件必须add 。
3、移除文件
从 Git 仓库中移除文件的方式有两种:
- 从Git 仓库和工作区中同时移除对应的文件
- 只从 Git 仓库中移除指定的文件,但保留工作区中对应的文件
vs中有test.css,现在要将其完全移除
已经没了
重新建立一个css
4、忽略文件
般我们总会有些文件无需纳入 Git 的管理,也不希望它们总出现在未跟踪文件列表。 在这种情况下,我们可以创建一个名为 .gitignore
的配置文件,列出要忽略的文件的匹配模式。
5、提交历史与版本回退
1、在一行上展示所有的历史
由此观之,版本回退,工作区里面的代码要变化
6、创建和切换分支
使用如下的命令,可以基于当前分支,创建一个新的分支
,此时,新分支中的代码和当前分支完全一样:
使用如下的命令,可以切换到指定的分支上进行开发
功能分支的代码开发测试完毕之后,可以使用如下的命令,将完成后的代码合并到 master 主分支上:
7、合并分支
功能分支的代码开发测试完毕之后,可以使用如下的命令,将完成后的代码合并到 master 主分支上:
8、删除分支
9、冲突时的分支合并
1
10、将本地分支推送到远程仓库
如果是第一次
将本地分支推送到远程仓库,需要运行如下的命令
注意: 第一次推送分支需要带 -u
参数,此后可以直接使用 git push
推送代码到远程分支。
查看远程仓库中所有的分支列表
11、跟踪分支
跟踪分支指的是:从远程仓库中,把远程分支下载到本地仓库中。需要运行的命令如下:
12、拉取远程分支的最新的代码
可以使用如下的命令,把远程分支最新的代码下载到本地对应的分支中
13、删除远程分支
可以使用如下的命令,删除远程仓库中指定的分支
删除本地分支
git操作大致步骤:
1、初始化仓库git init
需要在项目的根目录下
然后项目就会打上对勾,还会出现一个隐藏的git文件夹
2、将本地文件添加到暂存区 git add .
git add .
表示把所有的项目文件添加到暂存区
3、提交到本地库 git commit -m "第一次提交哦啊【黑马mm】"
git commit -m "第一次提交哦啊【黑马mm】"
后面可以不跟文件名,表示提交所有。
4、链接远程仓库git remote add origin https://gitee.com/l234li/test.git
首先,需要建立一个远程gitee仓库
然后执行
git remote add origin https://gitee.com/l234li/test.git
5、将本地仓库文件推送到远程仓库 push
git push -u origin "master"
然后就提交成功了!
注意:最后一步出现的账号,填绑定的邮箱账号。密码则输入注册码云时填写的密码。
仓库里的东西确实多了。