Git
Git是一个版本管理控制系统(VSC),它可以在任何时间点,将文档的状态作为更新记录保存起来,也可以再任何时间点,将记录回复回来。
版本管理是一种记录文件变化的方式,以便将来查阅特定版本的文件内容。
集中式和分布式
集中式(SVN)
所谓集中式版本控制系统就是版本库集中放在中央服务器,而干活的时候用的是自己。所以要先从服务器取得最新的版本,写完代码后,再把自己的代码推送到中央服务器。
集中式最大的问题是必须联网才能工作。而且数据集中保存在服务器,导致服务器数据一丢失,那么所有的数据就会丢失。
分布式(Git)
分布式版本控制系统则是每个人电脑都是服务器,都有完整的版本库。每个人之间都可以可以推送版本库修改。
但通常都会以一台电脑充当”中央服务器“,方便大家交换修改。因为其实分布式,所以就算”中央服务器“崩溃,也不影响数据的保存,也不影响大家的工作。
Git基本工作流
git仓库 | 暂存区 | 工作目录 |
用于存放提交记录 | 临时存放被修改的文件 | 被git管理的项目目录 |
开发者每次在git中提交项目状态时,都要将本次修改的文件从工作目录提交到暂存区,然后再将暂存区中的文件提交到git仓库。
Git工作区
加上远程仓库,git则是共有四个工作区域
- Workspace:工作区,本地代码存放位置
- Index/Stage:暂存区,执行 git add 指令后,保存修改文件的地方
- Repository:版本库,git commit 后的代码存放处。这里有我们提交到所有版本的数据,其中 HEAD 执行最新放入的版本。
- Remote:远程仓库,托管代码的服务器(其中代表 GitHub)。执行 git push 推送。
Git分支
一般不做改动,用于向外界发布的代码存在这里,保持稳定性。
开发过程在该分支进行,经过测试后无问题则将其合并到主分支上。
功能开发完成后,经过测试无问题则将其合并到开发分支上。
功能分支 -> 开发分支 -> 主分支
Git的使用
使用前配置
配置只需执行一次,若要修改,重复操作即可。
提交
进入项目文件夹目录下
撤销
分支命令
暂时保存更改
在git中,可以暂时提取分支上所有的改动并存储,让开发人员得到一个干净的工作副本,临时转向其他工作。使用场景:分支临时切换
推送到远程仓库
-u 记住推送地址及分支,下次推送只需要输入git push即可
克隆仓库
更新仓库
拉代码
提交代码
新建分支