git是什么
git是目前最先进的分布式版本控制系统
分布式:把一套系统拆分成不同的子系统部署在不同服务器上,这叫分布式。
集群:把多个相同的系统部署在不同的服务器上,这叫集群。
git的用途
a. 克隆版本库:git clone 网址
b. 项目版本控制:
c. 项目分支管理:
工作流程
a. workspace 工作区(编程区)
b. index 暂存区:暂存区标记了你当前工作区中,哪些内容是被git管理的。
c. repository 本地仓库(本地电脑存储区)
d. remote 远程仓库(云端存储)与协作者分享本地的修改,可以把它们push到远程仓库来共享。
常用命令
- git init (初始化多了一个隐藏的.git文件夹)
- git add . (添加到暂存区)
- git commit -m ‘描述信息’ (将暂存区的代码提交到本地)(描述信息为自己添加的备注)
- 将本地提交到远程仓库 git push origin master
- 分支管理命令
-
展示分支
1. git branch 本地分支 2. git branch -r 远程分支 3. git branch -a 所有分支
-
创建分支
1. git branch 分支名字(按标准命名) 创建分支(还在原分支) 2. git checkout -b 分支名字 创建并切换到该新建分支 3. 从当前分支创建一个新分支,则该新分支会保留当前分支的内容。但之后各分支间不会互相影响,是相互独立的
-
切换分支
- git checkout 分支名字
-
删除分支
- git branch -d 分支名字(不能删除当前分支)
-
从远程拉取
git pull origin 最新版本分支名字(从远程拉取)拉取回来后,要切换一下,本地才能有该分支
-
分支命名规范
a. master 主分支
b. release-..* 版本分支
c. feature-功能的名字 功能分支
-
常见场景
- 从其他人的库克隆到本地
a. 复制库的网址
b. 新建一个文件夹用来盛放要克隆的东西
c. 在这个新文件夹路径的终端,输入克隆命令
d. git clone 网址 - 将自己本地的上传到库
a. 新建库
b. 在要上传的文件路径处打开cmd
c. git init
d. git add .
e. git commit -m ‘’
f. 与远程库建立连接:git remote add origin 新建库的地址
g. git push -u origin master 将分支提交到远程(第一次提交需要写master的名字) - 已经在库里,拉取远程最新版本到本地
a. 切换到版本分支,
b. git pull origin 最新版本分支名字(从远程拉取)
c. 切换到自己的分支
d. 将版本分支合并到自己分支,则得到最新版本 - 已经在库里,将自己的分支修改后上传
a. git add .
b. git commit -m ‘’
c. git push origin 自己分支名字 - 将其他分支合并到当前分支
a. git merge 分支名(将该分支内容合并到当前分支)
b. 若出现冲突一般是因为不同用户修改了同一文件的同一区域,需要手动解决 - reset 重置到某个提交点
a. git log (查看提交点)
b. git reset --hard 提交点
c. 则将本地、暂存、工作区都调回该提交点(该提交点之后的都被删除了) - revert 调回某提交点
a. git log (查看提交点)
b. git revert -n 提交点
c. revert是复制以前的提交点作为新的前进的提交点
d. git reset 是把HEAD向后移动了一下,而git revert是HEAD继续前进,只是新的commit的内容和要revert的内容正好相反,能够抵消要被revert的内容。 - 提交点HEAD
a. 始终指向当前所处分支的最新提交点,所处的分支改变了,或产生了新提交点,HEAD就会跟着改变