1、Git的基础概念
Git中的三种状态
1.已修改modified
工作区的文件被修改了,但是还没有放到暂存区,就是已修改的状态
2.已暂存staged
如果文件已修改并放入了暂存区,就属于已暂存的状态了
3.已提交committed
如果git仓库中保存着特定版本的文件,就是属于已提交的状态了
基本的Git工作流程
2、安装并配置Git
安装Git之后,要做的第一件事就是配置自己的用户名和邮箱地址。
基本操作:
git config --global user.name"//(写自己用户名)" git config --global user.email"//(写自己邮箱)"
注意:如果使用了–global选项,那么该命令只需运行一次
- 通过用git config --global user.name和git config --global user.email配置的用户名和邮箱地址,会被写入到C:/Users/用户名文件夹/.gitconfig文件中,这个文件是全局配置文件,配置一次即可永久生效。
- 可以运行一下终端命令查看全局配置信息
//查看所有的全局配置项 git config --list --global //查看指定的全局配置项 git config user.name git config user.email
可以使用git help命令,无需联网即可在浏览器打开帮助手册
3、Git的基本操作
获取Git仓库的两种方式
- 将尚未进行版本控制的本地目录转换为Git仓库
- 从其他服务器上克隆一个已经的Git仓库
在现有目录中初始化仓库
如果自己有一个尚未进行版本控制的项目目录,想要用Git来控制它,需要执行一下两个步骤:
- 在项目目录中,通过鼠标右键打开“Git Bash”
- 执行git init命令将当前目录转化为Git仓库
工作区中文件的4中状态
检查文件的状态
可以使用git status 命令查看文件处于什么状态
git status的精简等价命令是git status --s或者是git status --short
例如:
出现Untracked file的文件意味着Git之前的快照中没有这些文件,Git不会自动将其自动纳入跟踪范围。
跟踪新文件
使用git add 开始跟踪一个文件。
运行以下命令:
提交更新
此时暂存区中有一个hello.js文件等待被提交到Git仓库中进行保存,可以执行 git commit 命令进行提交,其中 -m选项后面是本次提交消息,用来对提交的内容做进一步的描述。
运行以下命令:
暂存已修改的文件
目前,工作区中的hello.js文件已经被修改,如果暂存这次修改需要再次运行git add 命令,这个命令是多个功能的命令,主要有三个功效
- 可以用它开始跟踪新文件
- 把已跟踪的、且已修改的文件放到暂存区
- 把有冲突的文件标记为已解决状态
撤销对文件的修改
运行 git checkout 命令可以还原成Git仓库中所保存的版本
注意:所有的修改会丢失,且无法恢复,危险性较高,请谨慎操作
向暂存区中一次性添加多个文件
如果需要被暂存的文件个数较多,可以使用 git add . 命令,一次性将所有的新增和修改过的文件加入暂存区.
取消暂存去中的文件
如果需要从暂存区中移除对应的文件,可以使用 git reset HEAD 要移除的文件名称 命令
移除文件
从Git仓库中移除文件有两种方式
- 从Git仓库和工作区中同时移除对应文件
- 只从Git仓库中移除指定文件,但保留工作区中对应的文件
忽略文件
一般我们总会有些文件不需要纳入Git管理,也不希望它们总出现在未跟踪文件列表。在这种情况下,我们可以创建一个名为 .gitnore 的配置文件,列出要忽略的文件的匹配模式
文件 .gitnore 的格式规范如下:
- 以 #开头的是注释
- 以 /结尾的是目录
- 以 /开头防止递归
- 以 !开头表示取反
- 可以使用glob模式进行文件和文件夹的匹配
4、Git本地分支操作
分支的概念
分支就是科幻电影里面的平行宇宙,当你正在电脑前努力学习Git的时候,另一个你正在另一个平行宇宙里努力学习SVN。在某个时间点,两个平行宇宙合并了,结果,你就既学会了Git又学会了SVN。
master主分支
在初始化本地仓库Git的时候,Git已经默认帮我们创建了一个名字是master的分支,通常我们把master分支叫做主分支。
在实际工作中,master主分支的作用是:用来保存和记录整个项目已完成的功能代码
功能分支
由于程序员不能直接在master分支上进行功能的开发,所有就有了功能分支的概念,功能分支指的是专门用来开发新功能的分支,它是从master的主分支上分叉出来的,当新功能开发且测试完毕后,最终需要合并到master主分支上。
查看分支列表
查看当前Git仓库的分支列表,可以使用 git branch 命令。
注意:分支名字前的 * 号表示当前所处的分支。
创建新分支
使用 git branch 分支名称 命令可以基于当前分支,创建一个新的分支,此时,新分支中的代码和当前分支完全一样。
切换分支
使用git checkout 分支名称命令可以切换到指定分支进行开发
分支合并
功能分支的代码测试完毕之后,可以使用 git checkout msater和git merge 分支名称将完成后的代码合并到master分支上。
注意:假设要把C分支的代码合并到A分支上,则必须先切换到A分支上,在运行git merger 命令来合并C分支。
跟踪分支
跟踪分支指的是:从远程仓库中,把远程分支下载到本地仓库中。运行如下命令
//从远程仓库中,把对应远程分支下载到本地仓库中,保持本地分支和远程分支一致 git checkout 分支名称 //从远程仓库中,把对应的远程分支下载到本地仓库,并把下载的本地分支进行重命 名 git checkouut -b 本地仓库分支名称 远程仓库名称/远程分支名称