GIT
GIT 会在跟目录下创建一个
git
隐藏文件夹,作为本地代码仓库
git回滚分支
- github上测试出现bug,如何回滚并获得合并之前的分支
git fetch upstream revert-5406-revert-5335-optimize_jd_cart:fix_jd_optimize
(:)冒号后面是新本地新分支的名称
GIT工作流程
image.png- 流程步骤:
- 工作区:就是在IDE中开发代码文件的操作,属于工作区
- 暂存区:对于工作区的操作完成小阶段的储存,是版本库的一部分
- 仓库区: 表示个人开发的小阶段的完成,记录了各个版本的信心,可以查看回退。
GIT单人本地仓库操作
-
git init 创建本地仓库。
.git
暂时是一个空的仓库 -
配置个人信息
全局的git配置信息在~/.gitconfig
git config user.name "余浩"
git config user.email "yuhao1110404@163.com"
-
查看文件的状态
git status
新创建的文件为红色,属于在工作区文件,尚未被跟踪
-
工作区文件添加暂缓区
git add . # 添加项目中所有的文件
git add login.py # 添加指定的文件
在git status查看文件的状态以初始化提交,文件绿色—>暂缓区
-
暂缓区文件提交仓库区
git commit -m "版本描述"
在git status查看文件的状态干净的工作区
-
查看历史版本
git log # 不能查已经删除的commit记录
git relog # 可以查看所有的分支操作记录
-
回退版本
git reset —hard HEAD
-
首先查看 git reflog 版本信息 HEAD@{0}表示最新版本
-
HEAD
表示当前最新版本HEAD^
表示当前最新版本的前一个版本HEAD^^
表示当前最新版本的前两个版本,以此类推...HEAD~1
表示当前最新版本的前一个版本HEAD~10
表示当前最新版本的前10个版本,以此类推... -
当版本号较多的时候,通过版本号回退到指定的版本
git reset —hard 版本号
-
GIT多人开发使用
-
克隆远程仓库—到本地
git clone 远程仓库地址
-
配置个人信息
git config user.name "余浩"
git config user.email "yuhao@163.com"
-
创建项目--推送
# 工作区添加到暂存区 git add . # 暂存区提交到仓库区 git commit -m '立项' # 推送到远程仓库 git push
-
保存推送设置的账号和密码—>远程github的账号密码
设置记住密码(默认15分钟): git config --global credential.helper cache 如果想自己设置时间,可以这样做(1小时后失效): git config credential.helper 'cache --timeout=3600' 长期存储密码: git config --global credential.helper store
-
代码冲突
- 造成冲突的操作
- 多个人同时操作了同一个文件
- 一个人一直写不提交
- 修改之前不更新最新代码
- 提交之前不更新最新代码
- 擅自修改同事代码
- 解决冲突
- 养成良好的操作习惯,先
pull
在修改,修改完立即commit
和push
- 一定要确保自己正在修改的文件是最新版本的
- 各自开发各自的模块
- 如果要修改公共文件,一定要先确认有没有人正在修改
- 下班前一定要提交代码,上班第一件事拉取最新代码
- 一定不要擅自修改同事的代码
标签
作用:记录一个版本的完成。
-
首先
cd
到仓库文件目录下 -
在本地打标签
git tag -a 标签名 -m “标签描述”
git tag -a v1.0 -m 'version 1.0'
-
推送标签到远程仓库
git push origin 标签名
git push origin v1.0
-
删除本地和远程标签
删除本地标签
git tag -d 标签名
删除远程仓库标签
git push origin --delete tag 标签名
分支
作用:
1. 区分生成环境代码及开发环境代码
2. 研究新的功能或者难题
3. 解决线上BUG
特点:
- 项目开发中公用分支包括master、dev
- 分支master是默认分支,用于发布,当需要发布时将dev分支合并到master分支
- 分支dev是用于开发的分支,开发完阶段性的代码后,需要合并到master分支
分支操作
-
cd到仓库
-
查看分支
git branch
-
创建并切换dev分支
git checkout -b dev
-
设置本地分支跟踪远程指定分支(将分支推送到远程)
git push -u origin dev
在dev分支源代码的正常操作
-
dev分支合并到master分支
- 首先切换到
master
分支
git checkout master
-
dev
分支合并到master
分支
git merge dev
- 合并分支默认在本地完成,合并后直接推送即可
git push
- 首先切换到
GIT解决线上BUG
-
先暂存一下工作空间改动
git stash
-
新建一个分支,并切换到新的分支
git checkout - b dev2
-
在新的分支修改代码BUG
git add .
git commit -m "fix bug"
-
切换到master主分支
git checkout master
-
从分支dev2合并到master分支
git merge dev2
网友评论