git常用命令
git init git初始化
git clone 'address' 把项目克隆到本地
git branch 查看本地分支
git branch -a 查看所有分支(本地和远程)
git branch -d dev_name 删除本地分支
git branch --set-upstream-to=origin/src_self dev_self 本地分支与远程分支建联
git fetch 将远程最新内容拉到本地
git pull 将远程最新内容拉到本地,并合并到本地分支
git log 查看历史提交记录
git diff <fileName> 比较文件的不同,即暂存区和工作区的差异 (fileName查询指定文件)
git status 查看仓库当前的状态,显示有变更的文件
git add 添加文件到暂存区 (. 表示添加所有, fileName 添加指定文件)
git commit -m "注释" 提交暂存区到本地仓库
git push 推送到远程分支
git merge name 将其他分支代码合并到当前分支
git reset 回退版本
git reset --soft HEAD^ 撤销一次commit (详情应用场景1)
git remote show origin 查看当前版本库分支对应关系
应用场景
1.撤销一次commit ---- git reset --soft
例如:git reset --soft HEAD^ 仅仅是撤回commit操作,git add 依然存在,将文件放回缓存区
参数解释:
1.HEAD^ HEAD^的意思是上一个版本,也可以写成HEAD~1
HEAD~num ,例如:HEAD~2 回退两个
2.--mixed 默认参数,不删除工作空间改动代码,撤销commit,并且撤销git add .
git reset --mixed HEAD^ === git reset HEAD^
--soft 不删除工作空间改动代码,撤销commit,不撤销git add .
--hard 删除工作空间改动代码,撤销commit,撤销git add .
3.git commit --amend 更改注释(默认vim)
2.版本回退
两种方式:
git log 查看提交记录 commit_code
一、reset 直接回到之前的某个提交时间点
git reset --hard HEAD^ 回退到上一个版本,并且不保存当前提交
二、1.revert git revert -n commit_code
2.如果有冲突,全部采用当前传入的改动
3.git commit -m "恢复到xxx版本"
4.git push 推送值远端
远程分支对比:
回退前:版本1----> 版本2----> 版本3
reset方式: 版本1 (回退将 2,3 版本消除)
revert方式:版本1----> 版本2----> 版本3---->版本1 (在之前基础上增加了一次提交记录)
3.项目开发规范操作
以本人公司为例,测试环境分支为test,正式环境分支为src
一、分支初始化
1. 在git建立自己的远程分支src_self
2.git checkout -b dev_self
3.git branch --set-upstream-to=origin/src_self dev_self
tips: vs 中直接切换到远程分支,会自动生成本地分支并建立连接
二、开发过程中
1.git pull 同步远程代码到本地分支
2.git add . 添加文件到暂存区
3.git commit 提交暂存区到本地仓库
4.git pull 拉取同步代码,拉取代码可防止代码冲突,每次开发前强烈都建议都拉取一次
5.git push 推送到远程代码
三、发布测试环境(src_test)与正式环境(src)
测试环境:
1.将代码合并到自己的远程分支dev_self
2.git checkout -b src_test 切换到src_test分支
3.git pull + npm i 同步远程测试分支代码,并更新依赖
4.git merge dev_self 将开发分支合并到test(测试环境合并)
5.npm run build 打包
正式环境:
1.git merge src 在本地分支执行merge,保证开发分支与线上代码一致
2.将代码合并到自己的远程分支dev_self
3.git checkout -b src 切换到src分支
4.git merge dev_self 将本次开发代码合并到src
5.npm run build 打包
tips:本地分支只能merge src(主分支),不可以merge src_test(测试分支)
4 远程分支已删除,vscode中仍然存在
更新远程分支
git fetch --prune