git常识
什么是版本控制系统(vcs)/版本控制三要素
cvcs => centralized version control system (集中式) svn
dvcs => distributed version control system (分布式) git
dvcs => distributed version control system (分布式) git
- 最基本的功能:版本控制(在文件修改过程中保留修改历史,便于后期版本操作)
- 主动提交:程序代码周期较长,不适用主动提交,产生过多版本
- 中央仓库:多人合作的同步需求
中央式版本控制系统 svn
svn工作模型
- 获取账户 密码 url
- 从服务器中拉取代码
- 写自己的功能
- 上传自己的代码(上传之前先同步一下,避免覆盖团队其他人的代码)
什么是分布式版本控制系统
dvcs 典型:git
git工作模型
- 获取远程仓库url 账户 密码 git clone url
- 新建分支,在这里写自己的功能
- 将写好的代码提交到本地仓库
- 功能完成,将此分支合并到主分支,并提交到本地仓库
- pull远程仓库,然后push本地仓库
分布式版本控制系统的优点和缺点
优点:
没有网络也可以使用
并行开发,加快开发速度
没有网络也可以使用
并行开发,加快开发速度
缺点:
上手慢
首次使用,拉取代码时间较长
占用本地内存较大
上手慢
首次使用,拉取代码时间较长
占用本地内存较大
集中式与分布式控制系统的区别
总的来说,分布式有本地仓库的概念,每个人都有一个本地仓库,可以再没有网络的情况下进行开发,以及历史版本控制
中央仓库
中央仓库的作用,和本地仓库有什么区别
- 中央仓库是代码的储存中心,所有人都可以在这里进行代码的上传下载
- 中央仓库的代码出自己外,拥有查看权限的人也可以看;本地仓库只有自己可见
中央仓库的主要功能
1.保存历史版本(主要体现在集中式控制系统上,分布式此功能也有,但是一般都在本地仓库版本操作)
2.同步团队代码
2.同步团队代码
新公司使用git,如何快速上手
- 流程图如下:
先提取远程仓库到本地
将测试测试文件提交到本地
将测试文件push到远程仓库
将测试测试文件提交到本地
将测试文件push到远程仓库
团队工作的基本工作模型
- 将别人的新代码pull到本地
- 检查代码变动
- 开始自己的工作
- 再次pull中央仓库的代码,push自己的代码(避免push冲突)
git常用功能(命令)
git clone url 将远程仓库代码拉取到本地
git add 文件名 将此文件上传到暂存区
git add . 将所有文件上传到暂存区
git commit 将暂存区文件提交到本地
git log 查看日志 按q退出
git log -p 查看详细信息
git log -stat 查看统计信息
git status 查看git工作区状态
git init 初始化仓库 (可用来新建一个仓库)
git pull 下载
git push 上传
git add 文件名 将此文件上传到暂存区
git add . 将所有文件上传到暂存区
git commit 将暂存区文件提交到本地
git log 查看日志 按q退出
git log -p 查看详细信息
git log -stat 查看统计信息
git status 查看git工作区状态
git init 初始化仓库 (可用来新建一个仓库)
git pull 下载
git push 上传
git中文件的几种状态
1.未被跟踪 (即没有没git收录) untracked
2.已暂存 staged
3.已提交到本地仓库 commintted
4.已经发生改变,没有提交到暂存区 changed/unstaged
2.已暂存 staged
3.已提交到本地仓库 commintted
4.已经发生改变,没有提交到暂存区 changed/unstaged
本地git 位置
- .git目录 git本地仓库
- .git/index 暂存区