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 popgit checkout dev切换到dev分支新建分支,并下载v2.0版本的代码 git checkout -b bugfix v2.0解决bug 本地记录,提交,推送 打一个标签,2.1之后合并到dev中回到原来的分支,回到现场