目录
一. git是什么?
git通俗点来说就是一款代码托管平台,我们在公司中代码都从上拉取,并上传自己写好的代码,完成团队开发。
GIT操作流程概述(画图):
二. GIT的下载安装
GIT版本管理工具是一个软件,需要在自己的开发环境中下载安装git。
官方网站:https://git-scm.com/
下载对应的平台(Windows/MaxOS/Unix-Linux)的对应位数(X86/64)软件安装包。
安装完成成功后,在Windows系统中会在鼠标右键菜单中出现如下选项:
git gui:图形化git工具
git bash:git终端/命令行
三. 代码托管平台操作
选择一款适合自己/项目的代码托管平台:以码云为例:
官方网站:注册账号并登录,https://gitee.com
(1) 创建自己的远程仓库
(2) 仓库默认初始化配置
(3) 创建的远程仓库
(4) 远程仓库关联开发人员-关联自己的账号
① 生成自己的SSH密钥(id_rsa)文件,复制公钥(id_rsa.pub)密码
② 复制密钥
③ 仓库中配置开发人员公钥
备注:即使公钥泄露了,远程仓库还有自己的账号密码保护。
四. 本地仓库关联远程仓库
本地仓库就是本地的一个文件夹,保存了重要数据,通过git完成版本的管理操作,最大程度上保证数据的安全性和可靠性。
点击右键,点git bash(鼠标右键菜单中),执行命令,配置开发人员信息。
git config --list查看自己的配置信息
(1) git init:初始化本地仓库
创建一个本地文件夹E:/work_git,右键git bash在这里打开git终端,执行命令初始化这个文件夹为git本地仓库。
(2) git remote add:关联远程仓库
执行命令,完成本地仓库和远程仓库之间的关联关系,就可以将本地的文件,远程保存在代码托管平台上,实现永久存储。
① 复制仓库的地址
② 执行命令关联仓库
git remote add origin https://………
(5) git pull :同步仓库信息
创建好本地仓库,创建好远程仓库,在第一次关联完成后,一定要执行一次同步(本地仓库的重构),才能正常的执行本地和远程的文件版本管理和同步。
git pull –rebase origin master
五. 版本管理-纳入管理:git add
通过开发工具或者资源管理器创建了新的文件,需要通过命令将文件纳入版本管理工具的管辖中,才能正常的对这个文件进行版本操作。
创建一个文件demo01.py,通过命令添加到版本管理工具:
(1) git status 查看版本管理中的文件状态
(2) git add 命令添加文件到暂存区
六. 版本管理-提交操作:git commit
提交所有的待数据数据,更新数据的版本
新文件:初始化加入这个文件到版本管理工具中
旧文件:将文件的更新内容,添加到版本管理工具中
(1) 新文件的提交
新文件是从暂存区,提交到本地仓库
执行的命令操作
通过提交操作,将文件提交到了本地仓库中
(2) 已有文件修改的提交
① 更新文件
② 提交文件
七. 版本管理-推送操作:git push
到目前位置,所有的文件的版本管理都是在本地操作的,为了和其他开发人员协同开发,需要将代码推送到远程仓库(网络上的代码托管平台),方便其他开发人员下载和开发
执行命令git push将本地仓库中的数据推送到远程仓库中:
查看远程仓库(代码托管平台):
八. 版本管理-分支操作
(1) 还有哪些问题?
通过git对软件版本进行管理之后,需要解决这样的问题
软件开发过程中,有多个产品版本:PlaneV1.0、V2.0、V3.0
每个版本都有用户下载使用,同时提供多个版本的下载
开发过程中产品中可能会出现BUG,如果出现BUG应该怎么修复
保证软件能被正常的下载使用
开发过程中产品中可能会新增功能,如果要新增功能应该怎么开发
保证软件能被正常的下载使用
(2) 解决方案:分支概述
git提供了分支操作,通过不同的分支,完成不同功能的开发,将不同的分支可以合并得到一个完成的软件产品。
软件开发过程中的分支,类似生活中你的不同产品线(如同生产服装:
主分支-经销商负责售卖衣服;
开发分支-生产商负责制造衣服;
BUG分支如同售后-负责有问题的产品回收和修复)。
具体的操作过程,图解如下:
一般情况下小型项目只需要一个master分支就足够了,开发和发布都在一个分支,当实际发布的过程中可以给重要的版本添加标签/标记(git tag)
中小型项目一般情况下需要一个master分支和一个开发develop分支,将代码区分到不同的两个分支上,主分支负责核心功能的开发,开发分支负责边缘功能的开发。
中大型项目开发过程中,由于项目产品的需求较为复杂,操作过程中会出现大量的操作分支,这样的情况下每个开发人员必须明确自己负责的几个分支的作用和注意事项,千万不能盲目开发。
(3) 分支的操作:查询分支、增加分支、删除分支、切换分支
git中提供了命令git branch用于操作分支
① 查看分支
git branch
② 创建分支
git branch
③ 切换分支
git checkout
④ 分支开发
在develop分支下,创建文件demo01.py并提交到版本库
切换到主分支master分支,查看效果:不同的分支开发,互相之间是独立的
合并分支,将develop分支开发的代码,合并到主分支,主分支才能看到dev分支的文件
合并分支的命令:git merge
⑤ 删除分支:分支一旦创建,没有特殊情况不允许删除:千万不要做删除分支跑路第一人!
git branch -d
九. 版本管理-回滚操作
问题:如果开发过程中,出现了代码问题,新提交的代码导致项目崩溃,git可以做到让代码回滚/回归到上一个正确的状态?保证项目正常运行的情况下完成错误的排查。怎么做?
(1) git diff 查看异同,排查新增的代码对于那些文件那些代码进行了修改
① 修改了代码,执行状态如下:
② 提交前,查看代码异同:git diff命令
(2) git reflog / git log查看提交历史
代码开发过程中,会出现大量的提交过程,每个提交过程都是一个新的版本,通过git内置的命令查看所有的提交过程,包括每次提交的编号,通过编号可以查看提交内容详情。
git reflog:查看提交简要信息
git log:可以得到提交的编号(为代码的回滚做好了准备)
(3) 代码回滚
如果新提交的代码出现了问题,第一时间回滚代码到上一个版本,git提供了reset命令可以通过提交的编号,完成代码版本的回滚控制。
代码一旦回滚,理论上新提交的版本就会丢失(删除了),理论上是找不回来了。谁也不确定在工作过程中会不会出现失误的回滚操作,导致丢失了重要的代码,每次回滚操作时记录当前的版本信息,及时回滚处理了也可以通过手工记录的版本信息~将丢失的代码找回来。
10. Pycharm中使用git
git的操作非常友好,同时支持了IDE工具,可以通过工具在图形化软件中完成代码的提交、更新、推送等等各种操作。
(1) Pycharm中检出托管平台的项目
菜单VCS(Version Control System)选择Get Project From Version Control
可以从远程仓库中获取一个项目到本地
(2) 使用图形化界面,操作git