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
来源:前端网
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
海报
git常用命令
git reset 和git revert区别 git reset:版本回退 当前版本线中,需要回退到某一版本A,A版本后都不需要,使用git reset,提交线上时会提示远程有更新的内容,……
<<上一篇
下一篇>>
文章目录
关闭
目 录