1.什么是git?
Git是分布式版本控制系统,所以需要填写用户名和邮箱作为一个标识,--global 表示全局属性,所有的git项目都会共用属性。
配置用户名
$ git config --global user.name "ik_cong"
配置邮箱
$ git config --global user.email "[email protected]"
2.理解工作目录,暂存区,本地仓库
存储顺序:工作目录 -->> 暂存区 -->> 本地仓库
工作区(Working Directory):电脑上的本地硬盘目录,平时存放项目代码的地方。
暂存区(stage):用于临时存放你的改动,事实上它只是一个文件,保存即将提交到文件列表信息,一般存放在"git目录"下的index文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)。
本地仓库(Repository):工作区有个隐藏目录.git,它就是Git的本地版本库。
3.git的工作流程:
1)在工作目录中添加、修改文件;
2).将文件添加到暂存区当中
3).将暂存区域的文件提交到git仓库
使用步骤:(首先设置电脑可以查看隐藏文件)
1.在任意位置创建空文件夹,作为项目目录,例如:在F盘git目录右键创建git_repository文件夹
2.在项目文件夹内右键打开git bash窗口,输入命令: git init 此时git_repository目录下会生成一个隐藏的 .git 目录。
3.新建一个文件,例如:a.txt
4.输入命令:git add 文件名,此时是将文件添加到暂存区当中
5.输入命令:git status,查看暂存区状态
6.如需删除,可以输入命令:git rm --cached 文件名,此时是从暂存区中删除了,工作目录中还会存在该文件,删除之后再次查看,该文件名颜色已经发生变化
7.如需提交文件到本地库,输入命令:git commit ,提交完成后,会提示在文件中写一些备注(可写可不写),如需写可以使用i/a/o编辑文本(和Linux命令一样),然后保存并退出
注意: windows和ubuntu下git commit提交后如何保存和退出,回到命令行
按下esc退出编辑模式之后连续按输入两个大写字母Z退出
另一种方式:使用git commit –m “注释内容”, 直接带注释提交,此处不再演示!!
8.输入命令:git log 查看所有历史记录,输入命令:git log 文件名,查看该文件的历史记录
9.输入命令:git log --pretty=oneline 查看所有文件历史记录简易信息,输入命令:git log --pretty=oneline 文件名 查看该文件历史记录简易信息
10. 输入命令:git reset --hard HEAD^ ,回退到上一次提交
输入命令:git reset --hard HEAD~n,回退n次操作
输入命令:git reset 文件名,撤销文件缓存区的状态
11.输入命令:git reflog [文件名],查看历史记录的版本号
输入命令: git reset --hard 版本号
12.手动删除工作目录中的文件,然后输入命令:git checkout 文件名,可以恢复工作目录中已经删除的文件
13.手动删除工作目录中的文件,然后输入命令:git add 文件名 (此时该命令表示提交当前删除文件的操作)
然后输入命令:git commit -m "删除文件" (此时才是真正删除了该文件,但是此次删除只是这一次操作的版本号没有了,其他的都可以恢复)
恢复文件某个版本
14.分支相关操作
创建分支
输入命令:git branch <分支名>
输入命令:git branch –v,查看分支
15.切换分支
输入命令:git checkout <分支名>
切换到分支后,在分支下的操作,master(主线)不会有任何变化
此时在工作目录中可以查看到c.txt文件,但是当切换到master时,再去查看工作目录已经没有c.txt文件了
输入命令:git checkout –b <分支名>,将创建分支,切换分支一起完成
合并分支
输入命令:git checkout master,切换到主干
输入命令:git merge <分支名>,合并分支
此时在工作目录中又可以查看到c.txt文件了
冲突问题:当主线和分支合并之后,分支和主线都会有相同的文件,此时在主线中修改该文件内容并提交,在分支中也修改该文件内容并提交,再次合并时就会出现冲突,此时文件中会显示冲突内容,我们需要手动解决再合并了。