基础用法
-
拷备项目:git clone <仓库地址>
-
创建分支:git branch
-
创建并进入分支:git checkout –b
-
查看状态:git status
-
添加所有文件:git add .
-
提交:git commit –m ‘这里是当前提交的描述’
-
拉取:git pull
-
推送:git push
-
查看分支:git branch –list
-
查看分支(包含远程分支):git branch -a
代码提交规范
格式: type(scope) : subject
(1) type(必须): commit 的类别,只允许使用下面几个标识:?
① feat:提交新功能
② fix:修复了bug
③ docs:只修改了文档
④ style:调整代码格式,未修改代码逻辑(比如修改空格、格式化、缺少分号等)
⑤ refactor:代码重构,既没修复bug也没有添加新功能
⑥ perf:性能优化,提高性能的代码更改
⑦ test:添加或修改代码测试
⑧ revert: 撤销上一次的commit
⑨ build: 改变了build工具, 如 grunt换成了 npm
⑩ chore:对构建流程或辅助工具和依赖库(如文档生成等)的更改,如:webpack 升级等 db: 数据升级脚本版本号(包括新增表,修改表字段等操作,需要单独分支独立处理,然后PR到提交主分支)
(2) scope(可选): 用于说明 commit 影响的范围,比如数据层、控制层、视图层等等,视项目不同而不同
(3) subject(必须): commit 的简短描述,不超过50个字符(推荐以动词开头,如: 设置、修改、增加、删减、撤销等)
分支管理
master:主分支,一般都不会在此分支上开发项目
dev:开发分支,一般在此分支上开发
版本分支:建立于dev分支下面
BUG分支:建立于当前版本分支下面
- feature:描述当前分支类型
- XXX:项目名称
- V1.0.0:版本号
- xxxx-xx-xx:建立分支日期
遇到的问题
拉取了最新master代码后,想回退上一个版本该怎么做?
使用git reset 回退项目版本,可以回退到任意已经提交过的版本。已 add / commit但未push的文件也适用
步骤一:
先用 git log 查看具体commit的哈希值
步骤二:
reset 到指定版本
如何查看和切换账号?如何查看提交历史?
1.查看当前登录账号
git config user.name
复制代码
2. 查看当前登录邮箱:
git config user.email
复制代码
3.修改用户名和邮箱
git config --global user.name "Your_username"
git config --global user.email "Your_email"
复制代码
4.查看提交历史
git log
复制代码
拉取远程master分支?
1.git branch
2.git pull origin master
解决拉取远程代码到本地分支发生冲突?
1.先看冲突问题
命令:git pull origin master
feat-wenke是本地分支,需要拉取远程更新后的master主分支
在VS code 编辑器上解决冲突问题
1.点击搜索,输入 <<<
2.在冲突地方,点击 采用传入的更改即可!!!
3.如果更改后,没有重新提交,就拉取又更新的master主分支,这样会出现下面问题
4.需要先提交,后拉取即可
本地 git init 生成master分支 与 远程仓库 master 分支冲突?
1.git init 初始化,本地生成master分支
2.git pull origin master
3.git add .
4.git commit -am ‘’
5.git push 需要先与远程仓库建立联系
6.git push –set-upstream origin master 出现问题
7.解决方法:由于是初始化项目,就直接覆盖了远程仓库所有代码,但是千万注意这个方式不太可取,防止覆盖不应该覆盖的代码,注意! git push -u origin master -f
发起合并代码请求后,检查文件变动地方的几个注意点?
1.创建合并请求
2.检查文件变动,需要注意几个点
- 去掉没必要的空格,除了是用于区分代码
- 接口功能的写法(一个功能只对应当前的逻辑,不掺杂其他功能的逻辑。例如当时写一个置空当前状态的功能,我当时放在了接口功能上(混杂了),但是更好的做法是可以放在页面卸载时useEffect来去置空状态)
- 样式命名最好有个命名空间(有个最高代的命名,例如 .first .first-item .first-item2)
- 外部引用的文件统一放在当前页面的最顶部,内部引用的文件则放在外部引用文件的下面
- 接口返回的结果如果为空,在增删改查这类的功能,可以自己加上提示语(成功时),失败的时候,最好联系后端,提供有错误的信息
- ts定义数据类型的时候可以不加逗号,(interface)
撤销本地修改呢?
使用 git checkout 撤销本地修改,即放弃对本地已修改但尚未提交的文件的修改,还原其到未修改前的状态
注意: 已add/ commit
的文件不适用个方法
方法一:撤销对所有已修改但未提交的文件的修改,但不包括新增的文件
方法二:git checkout filename
撤销对指定文件的修改,filename 为文件名
当前分支提交过一次合并后,被其他人合并了分支,发现bug修复后,再次提交,多出无用的commit ?
先看问题
导师指导:
解决方式
1.切换到主分支,并同步最新代码
2.新建新的开发分支
3.开发…
4.git status
5.1 2 3 4
完成效果(去掉无用的commit)
切换到指定分支并拉取当前分支最新代码时,remote: invalid credentials,fatal: Authentication failed?
切换到指定分支
拉取最新代码,出现下面问题
原因:password密码输入错误(忽喷hh)输入正确密码即可