git部分使用

107 阅读3分钟

git 命令

git reset 取消暂存所有文件

git reset <file1> <file2> <file3>取消暂存多个文件

git reset <directory>/取消暂存目录下所有文件

git reset --soft HEAD^ 删除最后一次commit,并将更改放回暂存区

git-cz 下载对应依赖,做代码提交预检

git branch--delete dev 删除本地分支(git branch -d dev

git push origin -d branch 删除远程分支

git push --set-upstream origin dev 设置远程分支

git 退出commit编辑页 先按Esc,再**:q**(:wq是编写后保存)

git拉取某分支commit代码再提交: 1、git checkout -b <new_branch_name> <commit_SHA> 拉取某<commit_SHA>的代码,本地分支名为<new_branch_name> 如:git checkout -b master_project_jingzhou_5255 5255855a9180debf5135d884a2796c1e1e622d3b

2、git push --set-upstream origin <new_branch_name> 推送<new_branch_name>到远程仓库 如:git push --set-upstream origin master_project_jingzhou_5255

git clone -b 分支名 地址

git cherry-pick 提交版本号

异地、离线、现场开发版本控制:

在线环境连主库 初始化 git bundle create git_study.bundle HEAD master 在主库环境创建master分支当前版本全量同步包 离线环境 初始化 git clone git_study.bundle git_study 在离线环境初始化全量包

在线环境连主库 更新 git bundle create 5052.bundle master 5052733609 在主库环境创建自上一次版本号同步后的所有commit 离线环境 更新 git bundle verify 5052.bundle 验证是否完整 离线环境 更新 git bundle list-heads 5052.bundle 查询有哪些commit 离线环境 更新 git fetch 5052733609.bundle master:tmp 获取远程master分支上最新的commit到本地tmp分支 离线环境 更新 git merge tmp 从本地分支tmp合并到master分支,完成!

git stash命令使用:

(1)git stash save "msg"  : 执行存储时的备注

(2)git stash list  :查看stash存储列表

(3)git stash show :显示做了哪些改动,默认show第一个存储,如果要显示其他存贮,后面加stash@{$num},比如 git stash show stash@{1} 显示第二个改动

(4)git stash show -p : 第一个存储的改动内容,如果想显示其他stash存储内容,命令:git stash show  stash@{$num}  -p ,比如:git stash show  stash@{1}  -p 查询第二个存储

(5)git stash apply :应用某个存储,但不会把存储从存储列表中删除,默认使用第一个存储,即stash@{0},如果要使用其他个,git stash apply stash@{$num} , 比如:git stash apply stash@{1} 应用第二个存储

(6)git stash pop :命令恢复之前缓存的工作目录,将缓存堆栈中的对应stash删除,并将对应修改应用到当前的工作目录下,默认为第一个stash,即stash@{0},如果要应用并删除其他stash,命令:git stash pop stash@{$num} ,比如:git stash pop stash@{1}即可应用并删除第二个

(7)**git stash drop stash@{num}** :丢弃stash@{num}存储,从列表中删除这个存储,使用需要谨慎

(8)git stash clear :删除所有缓存的stash,使用需要谨慎

commit规范

feat: 新功能、新特性(feature)
add: 新增功能
fix: 修改 bug // fix:适合于一次提交直接修复问题 to:适合于多次提交。最终修复问题提交时使用fix

docs: 文档修改
merge: 代码合并
deps: 升级依赖 style: 代码格式修改, 注意不是 css 修改(修改代码格式,例如分号修改)
test: 测试用例新增、修改
revert: 恢复上一次提交、回滚到上一个版本 撤销修改
release: 发布新版本 workflow: 工作流相关文件修改
ci: 持续集成相关文件修改
build: 影响项目构建或依赖项修改
perf: 更改代码,以提高性能(在不影响代码内部行为的前提下,对程序性能进行优化)

refactor: 代码重构(重构,在不影响代码内部行为、功能下的代码修改)

chore: 修改工具相关(不在上述类型中的修改,改变构建流程、或者增加依赖库、工具等)

types: 类型定义文件更改
wip: 开发中

git 提交时断网后如何恢复代码: 1、查找.git\logs\refs\heads对应分支的日志, 把最后一条的第二个git的guid拷贝出来

image.png 2、查找.git\refs\heads对应分支,把上面拷贝的guid复制进去