git基本工作流程
- 创建或者修改文件
- 使用
git add .
把修改或创建文件提交到本地暂存区中 - 使用
git commit -m "xxx"
把代码提交到本地代码库 - (以上并没有更新远程仓库) 使用
git push origin xxxx
更新远程代码库
1.获取和创建项目命令
git init
在当前目录下创建一个仓库
git clone git@github.com:xxxx
拷贝一个仓库到本地
2.其他基本命令
git add filename
添加一个文件到暂存区中
git status
查看当前项目状态
- 查看忽略的文件状态:
git status --ignored
- 查看详细的状态信息:
git status -v
git diff
查看尚未缓存的状态
- 查看已缓存的改动:
git diff --cached
- 查看已缓存的与未缓存的所有改动:
git diff HEAD
- 显示摘要而非整个 diff:
git diff --stat
3.关于分支管理常用命令
git checkout name
切换分支
git checkout -b name
添加新分支
git branch
查看本地分支
git branch -D name
删除本地分支
git branch -a
查看远程仓库分支
git reset [--soft | --mixed | --hard] [HEAD]
回退版本某一次记录
git reset HEAD^ // 回退上一个版本
git reset HEAD^ hello.php //回退 hello.php 文件的版本到上一个版本
git reset 052e //回退到指定版本
git reset --soft HEAD // 用于回退某一个版本
git reset --soft HEAD~3 // 回退到上上上一个版本
git reset –hard bae128 //回退到某个版本回退点之前的所有信息。
git reset --hard origin/master //将本地的状态回退到和远程的一样
撤回commit版本
1.git log
查看 commit 记录
2. git reset --hard o67123
回退版本
回退之后再修改文件提交代码会有一下这种问题
我们可以使用 git push -f origin master
强制提交代码的方式提交上去
4.分支常用命令
git add -u
将已跟踪的文件提交到暂存区
git commit -m <message>
将暂存区提交到本地仓库
git commit --amend
进入 vi 编辑模式,最上方就是提交时填写的备注信息
git commit -amend -m <message>
无需进入 vi 编辑模式,修改上次提交记录的备注信息
commit - message规范
/**
1. feat:新增功能
2. fix:bug 修复
3. docs:文档更新
4. style:不影响程序逻辑的代码修改(修改空白字符,格式缩进,补全缺失的分号等,没有改变代码逻辑)
5. refactor:重构代码(既没有新增功能,也没有修复 bug)
6. perf:性能, 体验优化
7. test:新增测试用例或是更新现有测试
8. build:主要目的是修改项目构建系统(例如 glup,webpack,rollup 的配置等)的提交
9. ci:主要目的是修改项目继续集成流程(例如 Travis,Jenkins,GitLab CI,Circle等)的提交
10. chore:不属于以上类型的其他类型,比如构建流程, 依赖管理
11. revert:回滚某个更早之前的提交
*/
5.分支冲突解决
merge:
- 需要手动解决冲突
- 解决完冲突之后,就提交代码到暂存区
- 提交到本地代码仓库
- 提交到远程仓库
rebase:
- 首先保证主分支是最新代码
- 切换到需要合并的分支
git rebase master
- 处理冲突
- 冲突解决完之后
git add
- 执行git rebase --continue操作
- git push 完成