git:
源代码服务器
每上传一次就是一次版本控制
git特点:分布式版本控制
在根目录下创建一个.git的隐藏文件(git init)
工作区:一般是指pycharm:git add——>
暂存区:进入了本地仓库 commit -->
仓库区:push--——>远程仓库
立项:
首先执行clone下载到本地仓库
commit到本地服务器
push到远程仓库
每次使用代码之前使用pull
另外的人:先clone一下
commit到本地服务器
push到远程服务器
pull到自己的仓库
在本地管理自己的代码
在本地安装git->pip install git
在桌面创建一个项目
创建本地仓库,在项目路径下git init
在.git文件夹下的config中配置身份信息(
git config user.name ‘张三’
git config user.email ‘zhangsan@163.com’
)
(当git init之后,已经被管理)(红色)
使用git add (文件名或'.' )丢到暂存区
git commit -m ‘立项(描述事件)’
(git status 查看状态git log查看描述,git reflog)
创建远程仓库:加号
起名字
描述可以写,可以不写
添加忽略文件,ignoe
添加权限,MIT比较低
创建完成
使用ssh,下面有个地址,使用clone拷贝这个地址
克隆之前配置ssh
生成对称密钥
(客户端生成,发送密钥也不太安全,对密钥加密进行传输)
(在github中setting中,ssh一把公钥存在)
配置公钥:
编辑 vi .gitconfig
内部有个user,我的email name是github的名字
在终端中使用ssh-keygen -t rsa -C ‘邮箱’(对称密钥)
直接enter 在写y,在enter
下面的是公钥路径
取出公钥的值cat id_rsa.pub
复制到github中,点击add sshkey,确认密码
公钥已经放上去
在终端中,git clone 该地址,会遇到问题
使用eval "$(ssh-agent -s)"
ssh-add
其实是配置私钥
克隆之后,配置身份信息
在跟.git 在同一目录下创建项目
之后是add commit push
再次使用首先pull
回退版本:
1、使用head表示当前版本
加一个^表示前一个版本
2、git reset --hard 版本号
回到那个版本就行
撤销修改:
工作区:git checkout 文件名
暂存区:git reset head 文件名-->git checkout 文件名
不能撤销仓库区代码:想修改,就是用版本控制
删除文件:
rm 文件名
git rm 文件名
误删了使用 git checkout 来撤回
git的标签
使用大标签来记录大版本,使用commit来记录小版本
git tag -a v1.0 -m ‘version 1.0’
一般是经理来打标签,用来记录大版本
推送到远程服务器:git push origin v1.0
git 分支:
git branch查看当前的编辑分支
一般用来解决线上bug
研究新功能,公关难题
一般在立项的时候建立分支
新建并切换到新的分支,git checkout -b dev
合并分支中的代码到主干中
使用命令:git merge dev
默认执行了add commit操作
分支中使用bug
分支中保存现场:git stash
恢复现场:git stash
git stash pop
git checkout dev切换到dev分支
新建分支,并下载v2.0版本的代码
git checkout -b bugfix v2.0
解决bug 本地记录,提交,推送
打一个标签,2.1
之后合并到dev中
回到原来的分支,回到现场