git
概述:git是一个分布式版本控制工具(运用最广的一个版本控制工具),svn(也是一个版本控制工具)。git是用来管理项目代码版本的,可以使多人开发同一个项目,且保证项目的完整性及唯一性。(git都是在本地仓库(本地电脑上的)进行代码的修改,提交给远程仓库(网络地址))
git命令大全:
1、检索环境
git version #查看版本
2、初始化本地版本库
git init
3、查看本地仓库状态
git status
4、添加文件到暂存区
git add 文件名/文件路径
git add --all #添加所有的内容
git add . #添加所有的简写
5、将暂存区的文件提交给历史区
git commit 文件名 #每次提交都需要进入vim编辑
git commit 文件名 -m "提交的信息" #这种方法会直接跳过进入vim编辑
#注:vim编辑器的三者模式的切换
# 阅读模式 Esc 返回这个模式
# 插入模式 i a 进入插入模式
# 命令行模式按 :进入 (:wq 表示保存后退出)
6、配置用户信息
git config --global user.email "你自己的邮箱名" #全局配置你的邮箱
git config --global user.name "你的用户名" #全局配置你的名字
7、查看历史区的提交信息
git log
8、从暂存区撤回
git reset HEAD -- 文件名/文件夹
#撤回所有
git reset HEAD -- *
git reset HEAD -- .
**注:**从工作区把内容删除了,是不能从暂存区撤回到工作区的,因为暂存区只是暂时存放,删了的内容早在暂存区也不存在了。
9、从历史区撤回到工作区
git reset --hard 版本id #将对应的历史区指定版本的内容拉回来
git reset --hard HEAD #拉回最近一次提交的内容
10、查看分支
git branch #master相当于主干 主分支 绿色加*的表示你当前所处的分支
11、创建分支
git branch 分支名
注:分支名不能随便命名(必须按照命名规范来命名)
1、git 分支命名规范
git 分支分为集成分支、功能分支和修复分支,分别命名为develop、feature和 hotfix ,均为单数。 不可使用 features、future、hotfixes、hotfixs 等错误名称。
master(主分支,永远是可用的稳定版本,不能直接在该分支上开发)
develop(开发主分支,所有新功能以这个分支来创建自己的开发分支,该分支只做合并操作,不能 直接在该分支上开发)
feature-xxx(功能开发分支,在develop上创建分支,以自己开发功能模块命名,功能测试正常后 合并到develop分支)
feature-xxx-fix(功能bug修复分支,feature分支合并之后发现bug,在develop上创建分支修 复,之后合并回develop分支, PS:feature分支在申请合并之后,未合并之前还是可以提交代码 的,所有feature在合并之前还可以在原分支上继续修复bug)
hotfix–xxx(紧急bug修改分支,在master 分支上创建,修复完成后合并到master)
注意事项:
一个分支尽量开发一个功能模块,不要多个功能模块在一个分支上开发,feature分支在申请 合并之前,最好是先 pull 一下 develop 主分支下来,看一下有没有冲突,如果有就先解决冲 突后再申请合并。
2、git 提交记录规范
每个git commit 记录都需要按照固定格式,具体格式为:
第一行:作者:功能模块名称或功能模块ID
第二行:提交描述,中英问皆可
:增加代码
:修改代码
:删除代码
12、删除分支
git branch -d 分支名
13、切换分支
git checkout 分支名
14、合并分支
git merge feature-login #将feature-login合并给当前分支
github远程仓库
15、克隆下载
git clone 仓库地址
16、拉取最新的数据
git pull
17、推送内容到仓库
git remote add origin 地址对应的git文件
18、上传内容到对应的远程仓库(第一次需要输入密码)
git push -u origin "master" #-u指定用户名 origin指定对应的分支 master主分支
git 冲突 (由于多个用户操作同一个文件)
刚开始是第一代版本,上传完git 上面变成2代版本 而对应你的历史版本还是1代版本,这个时候就会产生冲突。首先就是先把2代版本拿下来进行比对 比对完 再进行合并,合并完再进行上传。
19、获取GitHub的版本 (git pull 会直接进行合并 不安全)
git fetch origin master:temp #获取最新的数据 并开辟一个临时分支
20、比对临时分支
git diff temp # 比对临时分支
21、合并分支
git merge temp
git本地仓库的分区分为:
暂存区 暂时存放你添加的内容
历史区(版本库)存放对应的提交的版本
工作区 实际操作的分区
git diff temp # 比对临时分支
21、合并分支
git merge temp
最后还有一些命令附图: