前端小白的学习之路。
程序员的开发离不开git仓库,整理一下git的常用操作,以备不时之需。
方法总结
|--------------------------------------------------|------------------------------------|
| 命令行 | 作用 |
| git init | 初始化本地仓库 |
| git config --global user.name '用户名' | 设备Git的用户名 |
| git config --global user.email '邮箱' | 设备Git的邮箱地址 |
| git status | 查看Git当前的状态 |
| git log | 查看Git历史提交版本记录 |
| git reflog | git操作流程记录 |
| git clone url | 从远程仓库克隆代码到本地,此时不需要在init |
| git add test.html(相对路径或绝对路径) | 将指定的修改文件加载到暂存区 |
| git add . | 将所有修改的文件加载到暂存区 |
| git commit -m '修改说明' | 提交暂存区的所有修改文件 |
| git push | 将暂存区的修改文件提交至远程仓库 |
| git pull | 从远程仓库拉取代码 |
| git checkout | 查看当前的分支 |
| git branch | 查看本地的所有分支 |
| git checkout -b new_branch_name | 根据当前的分支创建一个新的本地分支 |
| git checkout change_branch_name | 切换到另一个本地分支 |
| git merge branch_name | 将目标分支的代码合并到当前分支 |
| git push origin master | 将本地分支推送到与之存在追踪关系的远程分支 |
| git push origin new_branch_name | 将本地代码上传到远程仓库,新建一个分支 |
| git branch -d/-D<--delete --force> branch_name | 删除本地分支 |
| git branch origin -d branch_name | 删除远程分支,慎用! |
| git reset --hard HEAD^/HEAD - n | 回退本地分支版本,^表示上一个版本,-n表示前n个版本 |
| git reset --hard abcde | 回退到指定的版本号,可通过reflog获取 |
| git push -f | 将本地回退之后的结果同步到远程分支 |
| git diff test.html | 代码对比 |
| git remote -v | 查看分支所在的git地址 |
| git remote rm origin | 删除当前路径,慎用! |
| git remote add origin url | 重新添加路径 |
| git remote update origin --prune | 本地更新远程仓库的分支,适用于vscode等查询不到新增加的远程分支 |
| git branch --unset-upstream | 切断本地与远程分支之间的映射关系 |
| git branch --set-upstream-to origin/branch_name | 将本地分支与远程分支之间形成映射关系 |
| git stash list | 查看stash的存储列表 |
| git stash save 'remark' | 将当前的非新增更改存储到stash |
| git stash pop | 将list中的第一个应用到当前分支,并且从stash列表中移除 |
| git stash pop stash@{enum} | 将目标的存储应用到当前的分支,并且从stash列表中移除 |
| git stash show | 显示做了那些改动 |
| git stash show stash@{enum} | 显示目标存储做了哪些改动 |
| git stash apply | 将第一个存储应用到当前的分支,不从stash存储列表中移除 |
| git stash apply stash@{enum} | 将目标存储应用到当前的分支,不从stash存储列表中移除 |
| git stash drop stash@{enum} | 丢弃掉目标的存储 |
| git stash clear | 清空stash的存储列表 |
注意事项:
1.git stash
在使用git stash pop **stash@{$enum}**时,可能会遇到下面的错误提示:
unknown switch `e`
解决方法很简单,在文件资源管理器中找到根目录,右键点击git bash here,在运行一遍上面的命令就可以了。主要原因应该是权限问题和代码格式的转义问题。
此外,git stash pop不会出现这个问题,git stash apply也一样。
2.合并冲突解决
javascript
git merge --abort
git reset --merge
git pull
即可。
3.git的提交规范
|----------|------------------|
| feat | 新功能 |
| fix | 修复bug |
| docs | 文档注释 |
| style | 代码格式(不影响代码运行的变动) |
| refactor | 重构、优化 |
| perf | 性能优化 |
| test | 增加测试 |
| chore | 构建过程或辅助工具的变动 |
| revert | 回退 |
| build | 打包 |