GIT是一个分布式版本管理工具(主要是用于管理对应的项目的版本 分支)(迭代式开发(自研公司的主项目外包的大项目也是迭代式开发))SVN(单机的版本管理工具 全部一个分支上干 )Git 是一个免费和开源的 分布式版本控制系统,旨在以速度和效率处理从小型到大型项目的所有内容。
(1)下载工具
(2)安装工具
按照对应的指引 一步一步向下走(最好不要更改默认路径)
测试是否安装
点击对应的git Bash Here 进入里面输入对应的命令
git --version
如何将对应的项目交给我们的git管理
(1)我们有一个对应的文件夹 project 在这个文件夹内容 点击右键打开的对应 git bash here(命令行)
git init
(2)就是会产生一个新的文件夹(这个文件夹就是对应的git本地仓库 如果你删了这个文件夹那么对应的那么这个仓库就没有 对应的里面管理的所有的数据也就没有了)
当我们这个里面有了.git这个文件夹后 我们的这个project就可以让对应的git来进行管理(这个文件夹是隐藏文件)
(1)git分三个区
(2)从工作区到对应的暂存区
git add hello.txt
git status
git add ./hello
对应的空的文件夹 不允许加到git中
不是空文件夹 就会把文件夹内所有内容加入
git add --all git add .
git reset HEAD -- hello.txt
撤回文件夹
git reset HEAD -- ./hello
git reset HEAD -- . git reset HEAD -- *
(3)从暂存区到版本库(提交了暂存区就没有了)
git commit hello.txt
作者不知道 (到版本库需要告诉他你是谁 你的名字和邮箱 --global填写了以后这个项目的提交就不需要再填 如果没写每次都要填)
git config --global user.name "" git config --global user.email ""
git这个命令行 相对于是一个linux的命令行(支持所有的linux命令)当你提交完会进入到对应的vi编辑器(vim)
阅读模式 :(只能读 不能操作 默认进去就是阅读模式)
插入模式 :(进行对应的值的填写和修改 i a 等进入对应的插入模式 按对应esc键就会到对应的阅读模式)
命令行模式 :(执行对应的保存退出等操作 通过阅读模式进入对应的命令行模式 :填写指令 :wq 保存后退出)
git log
git commit 文件名 -m "提交信息"
(4)去版本库拿数据
--hard 会影响工作区和对应的暂存区
git reset --hard 版本号
拿最新的数据(最新的版本)
git reset --hard HEAD
(1)分支相当于模块一个功能就有开一个功能分支 一个大的模块会开了一个模块分支(细化对应的每个功能以及相关的模块)
(2)我们当前的主分支 master(不能直接在上面做对应的代码开发 而是在底下开一个develop的分支(工作分支))
(3)分支命名必须遵从对应的规范
git 分支分为集成分支、功能分支和修复分支,分别命名为 master、feature 和 fix,均为单数。不可使用 features、future、hotfixes、hotfixs 等错误名称。
feature/siliwu_querySchdule (新功能/吴思里_查询课表)
注意事项:
(4)git 提交记录规范
每个 git commit 记录都需要按照固定格式,具体格式为:
第一行:功能模块名称
第二行:提交描述,中英文皆可
分支的开辟
git branch 分支名
查看当前分支(* 当前所在分支)
git branch
进入分支
git checkout 分支名
删除分支
git branch -d 分支名
合并分支(合并到当前)
git merge 分支名
衍和分支
git rebase 分支名
github(英文文档)
全球性质的网站 任何开源的内容都会在github上存在(服务器不在中国 github是全英文的网站)
gitee(中国的github 码云)
gitee是中国的一个代码托管平台 ,他跟github的体系是差不多(上面不存在对应的开源代码)
远程仓库可以说是一个代码托管平台 (上面主要是用来存放你的代码的)
从对应的远程仓库获取数据
(1)采用克隆的形式
git clone 地址
(2)如果你已经克隆完了 你需要更新对应的代码
git pull
需要创建对应的账号以及相关的仓库
git remote add origin 远程git地址 #联通俩个git地址 git push -u origin 分支名 #推送对应远程仓库地址 -u表示的当前的用户 (基于配置好了用户的情 况)
(1)具备本地仓库
克隆
git clone 地址
创建一个本地仓库
git init
(2)联通对应远程仓库
输入用户名和密码的操作(第一次需要 就是gitee账号)
git remote add origin 远程地址
(3).在本地参考提交对应的内容(本地的仓库的版本库更新)
git add 文件
git commit 文件
(4)把对应的本地仓库推送到远程(本地仓库的版本库的最新版本>=远程参考的版本库最新版本)
git push -u origin 分支名
(5)刷新一下对应的远程仓库就更改了
a开发登录功能(1.0)b开注册功能(1.0) b开发完将代码提交了 (2.0)a就不能提交了(a的版本小于2.0)
先拉一下最新版本(我的版本就会变成2.0) 就可以提交了 提交完对应的版本(3.0)
(1)怎么拉(会进行合并)
git pull
如果a和b同时开发一个功能 a提交了一份代码 b现在准备提交 发现提交不上他就拉了最新版本回来 再提交上去了。任何a和b的代码就会重合。
因为对应pull会进行合并,所以我们不能使用他
(2)多人操作一个内容
git fetch origin master:temp #开一个临时的分支来存储对应的master里面的内容 git diff temp #比对对应的temp git merge temp #再进行合并