git常用命令
git reset 和git revert区别
git reset:版本回退
当前版本线中,需要回退到某一版本A,A版本后都不需要,使用git reset,提交线上时会提示远程有更新的内容,可以使用git reset -f提交,后面版本会被清空
git rever:版本回滚,将某一次提交版本撤销或更改提交,该版本前后提交都不影响
提交常见规范
feat:提交新功能 fix:修复了bug docs:只修改了文档 style:调整代码格式,未修改代码逻辑(比如修改空格、格式化、缺少分号等) refactor:代码重构,既没修复bug也没有添加新功能 perf:性能优化,提高性能的代码更改 test:添加或修改代码测试 chore:对构建流程或辅助工具和依赖库(如文档生成等)的更改
本地仓库
git status #合并add和commmit git commit -am '提交信息'
log追踪
#查看档案commit信息 git log #查看最近两次内容差异 git log –p -2 #显示固定人员提交 git log --author='开发者name' #简化主要信息 git log --oneline #多个分支查看版本线图 git log --graph #hash值完整 git log --pretty=online #定制格式 git log --pretty=format
查看版本线图
#查看多版本线图 git log --oneline --graph --all # git log --oneline --graph --[number]
diff版本差别
需要commit前才有用
#查看版本区别 git diff index.html #add前后对比 git diff --staged
更改文件
文件删除、重命名、移动
git rm [filename] 文件删除 git mv [oldname] [newname] 文件重命名 git mv [filename] stuff/pretty.txt 文件移动
回退修改
当修改工作区还未commit时,想去掉更改
git checkout [filename]
回退(消除版本)
#回退上一个版本 git reset --hard(强制) HEAD^(一个^表示一个版本) #回退到hash版本 git reset --hard hash值 #撤销当前文件的追踪 git reset HEAD [filename]
回到某个版本
保留修改版本基础上,添加回到的版本
git revert -n [hash] git revert -n a6ace91
分支
注意:切换到节点再创建分支(一般主分支)
注意:切换分支前要确定commit
#查看分支 git branch #切换分支 git checkout devnaem
#新建并切换到v3分支 git checkout -b v3
注意:删除分支时要不在当前分支,并且合并后
git branch -d v3
当误删分支时
git branch -D(强制删除) master #删除后会有一个hash值 git branch master hash值
合并分支
先切换到master分支,再合并dev,这样dev内容就会覆盖主分支
git merge [branch name]
合并冲突,协商解决冲突后直接commit
git add . git commit(直接commit会弹出输入) esc wq
当你无法解决冲突(放弃合并)
# 放弃合并 git merge --abort # 恢复合并之前 git reset --hard )RIG_HEAD
快转机制
快转实际就是当前master的将来时,就是将分支合并后会去掉合并分支版本
默认合并就是快转机制,方便去掉没必要的分支版本线图
# 不使用快转机制 git merge branchname -no-ff
工作区合并
仅合并工作区,如合并后测试再commit
git merge branchname --no--ff --no-commit git commit
合并压缩
必须快转,压缩多次版本压缩为一个版本
git merge --squash branchname
删除不要分支
# 查看合并分支 git checkout master git branch --merged git branch -d v3
远程仓库
git Clone和下载压缩包区别
git clone是克隆整个仓库,压缩包是下载某个分支的文件没有.git文件
git Clone
git clone [地址] # 自己取文件名 git clone --no-checkout [地址] newName # 这个时候文件会没有,需要切换到主分支 git checkout [主分支]
克隆裸的仓库,也就是相当于只有.git文件
git clone --bare [地址] # 获取代码 git clone [裸的仓库拖进来]
拉取Pull
拉取远程仓库同步
git pull
Pull 其实是两步操作
先查看两个地址
git remote -v
发现一个fetch,执行后就会拉取远程,但没有和本地合并merge后相当于pull
git fetch git merge
远程仓库删除分支/迁移
删除远端分支,不要切换到远端分支
# 查看远程分支 git branch -a
当我们pull后发现新的远端分支,而本地没有的时候
git pull git branch -a # 切换到新分支 git checkout newbranch
删除远端分支需要先pull,再删除
git branch -d newbranch git push origin --delete newbranch
仓库迁移
git remote set-url origin [新地址] git push --all
版权声明:
作者:wuhou123
链接:https://wuhou.fun/504.html
来源:前端网
文章版权归作者所有,未经允许请勿转载。

三五笑话