git status //查看工作区状态
git branch //查看当前分支,当前分支前有个*号
git branch -vv 查看分支对应的远程地址
git branch -r //查看当前远程分支远程 ,当前分支前有个*号
git checkout dev //切换到dev分支
git branch -d <BranchName> //删除分支
git push origin --delete <BranchName> 删除远程分支
git pull origin development //抓取远程提交
git push origin HEAD: development //推送当前分支到指定development远程分支
git checkout -b dev origin/dev //在本地创建和远程分支对应的分支
git branch --set-upstream dev origin/dev //建立本地分支和远程分支的关联
或者git branch --set-upstream-to origin/master master
git push --set-upstream origin feature-qyl-invite 将本地分支推送到远程,并创建一个远程分支(同名)
克隆指定分支git clone -b +分支 + 地址
更新本地的远程分支git remote update origin --prune
git stash 保存当前的工作区与暂存区的状态,把当前的修改的保存到git 栈,等以后需要的时候再恢复,git stash 这个命令可以多次使用,每次使用都会新加一个stash@{num},num是编号
git stash save 'test'git stash pop 默认恢复git栈中最新的一个stash@{num},建议在git栈中只有一条的时候使用,以免混乱 注:该命令将堆栈中最新保存的内容删除git stash list 查看当前stash的所有内容 git stash apply 将堆栈中的内容恢复到当前分支下。这个命令不同于 git stash pop。该命令不会将内容从对堆栈中删除,也就是该命令能够将堆栈的内容多次运用到工作目录,适合用与多个分支的场景 使用方法:git stash apply stash@{$num} git stash drop 从堆栈中移除指定的stash git stash drop stash@{$num} git stash clear 移除全部的stash git stash show 查看堆栈中最新保存的stash和当前⽬录的差异,显⽰做了哪些改动,默认show第一个存储撤销本地的commit
git reset HEAD~合并分支。切换到合并的分支上,并将dev代码合并到本分支上
git merge dev如遇到dev分支内容修改单次内容,dev无法/目前不能合并到master, 基于master 新建fix分支。把单次修改的内容复制到master 切到改fix分支,执行git cherry-pick 提交编号 不小心把不想要的分支合并到当前分支了,但是不想要这个代码,还没有推送远端 git reset --hard origin/feature/20260804当我们错误的修改了其他分支,但是不想提交,想要提交到另外一个分支时
重置账号密码:
git config --system --unset credential.helper
git init touch README.md git add README.md git commit -m "first commit" git remote add origin https://gitee.com/cfl8/pro.git git push -u origin master远程与本地合并时 Git报错-refusing to merge unrelated histories
解决方案
git pull origin master --allow-unrelated-histories问题:pre-commit hook failed (add --no-verify to bypass)
将git commit -m"XXX"
改为 git commit -m "XXX" --no-verify
将github的https地址改为ssh形式
git remote set-url origin git@git地址git分支规范
| 分支 | 命名 | 说明 |
|---|---|---|
| 主分支 | master | 主分支,所有提供给用户使用的正式版本,都在这个主分支上发布 |
| 开发主分支 | dev | 开发分支,永远是功能最新最全的分支 |
| 功能分支 | feature-* | 新功能分支,某个功能点正在开发阶段 |
| 发布版本 | release-* | 发布定期要上线的功能 |
| 修复发布版本分支 | bugfix-release-* | 修复测试bug |
| 紧急修复分支 | bugfix-master-* | 紧急修复线上代码的 bug |
git提交备注规范br: 此项特别针对bug号,用于向测试反馈bug列表的bug修改情况
feat:新功能(feature)
fix:修补
docs:文档(documentation)
style: 格式(不影响代码运行的变动)
refactor:重构(即不是新增功能,也不是修改bug的代码变动)
test:增加测试
chore:其他的小改动. 一般为仅仅一两行的改动, 或者连续几次提交的小改动属于这种
revert:feat(pencil): add ‘graphiteWidth’ option (撤销之前的commit)
upgrade:升级改造
bugfix:修补bug
optimize:优化
perf: Performance的缩写, 提升代码性能
test:新增测试用例或是更新现有测试
ci:主要目的是修改项目继续完成集成流程(例如Travis,Jenkins,GitLab CI,Circle)的提交
build: 主要目的是修改项目构建系统(例如glup,webpack,rollup的配置等)的提交