git操作
程序员文章站
2022-07-15 16:57:25
...
版本控制简介
- 版本控制目前使用最广的有:
- cvs:用的最少,基本被svn取代了
- svn:在中国目前用的最多,和cvs操作大同小异
- git:目前是一个趋势
- 版本控制中,commit是为了整合代码
- 客户端:
- Tortoisegit: Git的客户端
- Tortoisesvn: SVN的客户端
- git和svn
- git:
- 在每一个电脑都是一个完整的仓库,有一整套完整的代码
- 本地随时发布通过commit,可以记录本地的版本控制,同时便于回退版本
- 在有网的情况下通过push,推送到远程*仓库
- svn:
- svn可以进行模块化开发,不需要每个开发人员拥有一整套项目的代码,提高安全性
- 在无网络的情况下,不能commit进行版本控制,当需要回退时只能联网回退到最新上次提交的版本
- 所有代码在存放在中行仓库,*仓库崩溃了,所有的代码都不能提交了
- 控制:
- svn:会在各个目录下创建.svn文件
- git:只会在最顶层目录创建.git文件
- git:
- git工作模型
- 集中式协同模型
- 社交网络式协同模型
公司开发流程
- 新员工入职时需要从远端不项目clone下来然后进行开发,在本地拥有完整的仓库
- 通过commit提交文件同步到本地仓库
- 当在有网络的情况下,push本地仓库到远程仓库
- 如果需要获取最新的代码,通过pull把远程仓库的代码拉到本地更新
安装git
- 安装git,安装完成后会有gitBash图标出现
版本管理员操作
- 公司在开发新的项目时,会创建重要仓库,用来整合各个开发人员的代码:
git init --bare shared.git
# 创建一个空的(bare) 的仓库 名为:shared.git
- 初始化仓库后,打开仓库会发现新增了文件和文件夹
- hooks(钩子):用于定制操作,如commit后自动发邮件给项目经理,commit前做某个操作
- info:版本提交时忽略的文件名单写在info文件夹下的execlude文件里
- object:存放版本记录
- config:记录用户名和邮箱
- description
- head
开发人员
- 入职第一天,拿到仓库路径后第一时间把代码仓库clone到本地
git clone fromPath localPath
# 把程仓库clone到本地
- 修改用户名和邮箱,告诉git我是谁
git config user.name 'user1'
git config user.email '[email protected]'
- 编辑文件后添加到缓存区才能提交
git add xxx.txt
git commit -m 'xxxx'
# 添加跟中
# -m :表示message,每次提交需要添加描述信息,介绍一下这次提交做了哪些修改
# commit只更新到本地仓库(本地也是一个完整的版本控制仓库)
- 推送到*仓库
git push origin master
# origin:从哪里clone下来的就push到哪里
# master:分支名称
- 从*仓库更新文件
git pull