Git版本控制

版本控制是对软件开发过程中,对各种代码,配置文件,说明文件变更的管理,是软件配置管理的核心思想
编写一个成熟可用的程序是一个工作量很大的工程,不是我们一次性可以搞定的工作,所以在开发过程中,有以下特点:
版本迭代:
针对当前代码进行修改和升级,通过几次迭代,达到预想的目的
常见的版本控制工具:
CVS: 是一个c/s的版本控制软件,主要用于开源的软件管理,是多个开发人员通过一个控制中心系统来记录版本,从而达到保证文件同步的目的,是一种很老的集中式版本控制工具
Svn:也是集中式版本控制工具,他是最优的集中式控制工具
Git:是一个分布式版本控制工具
集中式管理工具:
开发者之间的合作方式是共用一个仓库(repository),无论这个仓库是在本地还是在远端,只要是所有成员都共同存取同一个仓库,那么这种方式就是集中式(centralized)版本控制。
缺点:代码集中于服务器,一旦代码出现问题,很难处理
优点:代码都集中于svn服务器,不会发生个别新手污染代码的情况

分布式:
每个客户端就是都是一个服务器,都有一个版本库,开发者可以在无网络的环境中可以在本地进行代码的操作,是通过比对进行下载

总结:版本控制 管理文件的内容的变更,
分类: 集中式 有一个版本仓库 所有人去这个仓库下载或者上传
分布式 把每个人的电脑作为一个版本仓库 我们可以在自己的电脑上做版本的管理

Git的原理

工作区 暂存区 仓库
工作区:对于文件的添加,修改,删除
暂存区:将工作区的操作完成小阶段的存储,是版本库的一部分
仓库区:表示个人开发的小阶段,记录的各种版本都是可以查看回退

四、Git基本操作

  1. 下载安装

通过官网下载git的安装包,git官网地址: https://git-scm.com/
2. 基本操作

  1. 初始化一个git目录
    创建一个仓库
    新建一个文件夹 进入文件夹 鼠标右键 打开git bash
    执行 git init # 初始化一个版本库,执行后当前目录下会多一个.get的隐藏目录,如果有这个目录代表仓库创建成功
  2. 配置个人信息
    局部配置
    git config user.email ‘真实的邮箱’
    git config user.name ‘真是的名字’
    可以在当前路径下的.git目录下的config文件中看到自己的配置

局部配置只作用于当前版本库

在生成版本时,git会先找局部配置,如果没有局部配置,就去找全局配置
全局配置
git config --global user.email ‘我是全局的’
git config --global user.name ‘我是也是全局的’

全局的信息在 ~/.gitconfig 去查看
3. 操作
1.创建一个文件1.py 并生成一个版本
2.git status # 查看当前版本库的工作区中 有没有被修改的文件

3.将工作区更新的内容存到暂存区

git add 文件名(或者.) # .代表所有文件

4.将暂存区的内容生成一个版本
git commit -m ‘创建了一个1.py’ 文件名(或者.) # .代表所有文件
4. 查看版本日志
git log
git reflog

推荐使用 reflog
log 不会显示回退的版本
5.查看版本差异
git diff 版本号 版本号
6.版本回退
1.回退仓库中的代码
git reset --hard 版本号 将整个版本库回退到指定版本

2.工作区代码回退
git checkout

3.暂存区代码回退
git reset HEAD 文件名 将暂存区中的内容直接撤销到工作区

4.将文件回退到指定版本
git reset 版本号 文件名
第一步:执行 git reset 要回退到的版本号 文件名
第二部:执行 git checkout 文件名
第三步:执行 git commit -m ‘描述信息’ 文件名

分支操作
查看所有分支
git branch

默认有一个主分支master *当前所在的分支

创建分支
git branch 分支名

切换分支

git checkout 分支名

创建并进入分支
git checkout -b 分支名

删除分支
git branch -d 分支名

分支代码合并
git merge 分支名
test分支编辑代码 master合并代码

分支冲突

两个分支修改了同一个文件的同一行代码
在合并时 会合并失败
解决办法:
手动解决,
协商要么保留其中一人的代码或者都保留

五、Github的使用
git:是一个工具
github:是全球最大的一个IT开源社区
github代码托管平台
注册
创建仓库
使用http方式
在这里插入图片描述
在本地的gitbash中执行 git clone https://github.com/18693041795/1014.git

在本地编辑文件
在这里插入图片描述
上传修改后的内容
在这里插入图片描述
使用ssh方式
生成秘钥
Ssh-keygen -t rsa

查看公钥 将公钥 配置到服务器
cat ~/.ssh/id_rsa.pub
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
下载版本库修改内容并上传
在这里插入图片描述
在这里插入图片描述
在本地拉去下来的仓库中修改内容并生成版本 然后执行push
在这里插入图片描述
将远程修改内容拉取到本地 Git pull
在这里插入图片描述
多人协作
程序员A()master分支)
创建一个仓库
创建分支 git checkout -b dev
将本地dev分支上传 与远程的dev分支进行关联
Git push --set-upstream origin dev
Origin 远程仓库默认使用的分支名

Git remote 返回远程所有分支名
程序员B
克隆项目
查看分支
Git branch 会发现只有master分支
创建远程origen的dev分支到本地
Git checkout -b dwv origen/dev
编辑代码 添加到本地版本库
推送本地分支到远程 git push origin HEAD:dev

github会多一条请求

程序员A 取合并分支
查看本地文件并没有变化
切换分支到master 拉取修改的内容
Git checkout master
Git pull
切换分支到dev 并拉取内容
Git checkouut dev
Git pull 将远程内容拉下来
切换分支到master 合并分支
Git checkout master
Git merge dev

Git push

fork的使用 参与别人的项目
1.加入大牛的项目 使用fork模式参与大牛的开发
2.将大牛的项目fork到自己仓库
Git clone 地址
编辑内容 添加到本地版本库
Git add
Git commit
推送到远程
Git push
3.在自己fork下的仓库中单击new pull request
create pull request
4.对方查看 pull request 会受到请求

fork模式参与别人的项目,我们将对方的项目fork到自己的仓库,然后修改自己仓库fork的内容,然后提交申请加入,对于对方来说只需要控制我们的申请能不能合并到他的项目中

邀请别人开发
进入自己的仓库 单击项目的settings》collaborators>输入用户的账号 单击邀请
剩下的操作和fork类似

创建团队
点击用户的settings>organiz(组织)》neow 组着》配置团队信息

将本地仓库放到远程
1.创建目录初始化版本库
2.创建文件编辑生成版本
3.远程创建仓库 获取仓库地址
4.在本地仓库执行 创建映射关系
Git remote add origin 远程仓库地址
Git push origin master 将本地分支推到远程

cgi服务器
py语言和其他脚本语言一个不同的地方
python语言自带web服务器,工作中常用的web服务 apache nginx uwsgi wsgi

使用
找到一个目录 命令行执行
Python -m http.server --cgi

在浏览器输入ip:8000

同一个局域网下能够看到文件信息

静态网站:数据来源与固定的脚本,或者页面
特点:不能随时改动,一次性写好放在服务器上面做浏览使用
动态网站:数据是动态获取的,可以喝用户实现交互的网站
特点功能强大,数据灵活基于数据的变更

Cgi 解析动态网站的规则

创建web目录
在web目录下创建index.html 和cgi-bin 目录
cgi-bin目录中存放的是python脚本

在web目录下打开命令行 执行 python -m http.server --cgi # 启动cgi服务

在浏览器中访问127.0.0.1:8000

动态的现实cpu的使用率
前端使用的是 echars.js模块 主要是做数据的课时化
ajax 异步加载数据(在页面不刷新的情况下,请求服务器,更新网页的部分内容)
$.get(url,{},function(data){})
url: 请求地址,服务器的地址
{}:发送请求时要上传的数据 (如果没有要提交的俄数据可以省略)
function(data): 回调函数,当发送请求成功时自动调用的函数 data 是 后台返回的数据

后端:
psutil 模块: 一般用于自动化运维,来去监听当前系统的使用情况,cpu 内存 硬盘 网络 进程
下载 pip install psutil

psutil.cpu_times().user

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值