项目常用的git命令操作

Git是一个开源的分布式版本控制系统,用于跟踪和管理软件开发项目中的代码变更。

Git和SVN(Subversion)是两种版本控制系统,主要区别:

1.Git是分布式的,而SVN是集中式的
2.Git把内容按元数据方式存储,体积很小;而SVN是按文件,体积较大,所有的资源控制系统都是把文件的元信息隐藏在一个类似 .svn、.cvs 等的文件夹里
3.Git和SVN的分支不同,SVN的分支也就是版本库中的一个文件
4.Git没有一个全局的版本号,而SVN有
5.Git可以有无限个版本库,每一个Git都是一个版本库,而SVN是只能有一个指定中央版本库
6.Git的内容完整性要优于SVN

git 提交前,检查有没有设置用户信息

git config user.name
git config user.email

若没有设置用户,先设置

git config --global user.name "xxx" 
git config --global user.email "xxx@xxxxx"

创建一个空的仓库

git init

从远程仓库克隆到本地(右键:Open Git Bash here)

git clone 仓库地址

查看当前仓库分支文件修改状态

git status

常用提交步骤

git add .  // 暂存全部更改文件
// git add test.txt  只暂存某一文件(如:test.txt)
git commit -m "描述"  // git commit -m "feat:新增查询功能"

查看某一文件修改内容

git diff 文件名

在当前分支新建一个新分支

git checkout -b dev// 新建dev新分支,并且切换到dev
// 相当于以下两个命令的合并
// git branch dev+ git checkout dev

合并某一分支到当前分支

git merge main // 将main分支合并到当前分支

取消合并分支(只能在合并过程中使用,即在执行git merge命令后但尚未解决合并冲突之前。如果合并已经完成或冲突已经解决,则无作用)

git merge --abort // 取消git合并分支

查看分支

git branch // 查看本地所有分支
git branch -d dev // 删除dev这个分支(本地的分支) 
git push origin -d dev // 删除dev这个分支(远程分支)
git branch -r // 查看远程分支 
git branch --all // 查看所有分支

查看远程库信息

git remote
git remote -v // 查看详细信息

将新建的分支与远程仓库关联起来

git checkout -b dev // 新建dev分支
git push origin dev // 先push到远端再设置关联
git branch --set-upstream-to=origin/dev dev // 关联,远程分支名最好保持与本地一样

关于git提交的撤销

git reset --soft HEAD~1 撤回最近一次的commit(撤销commit,不撤销git add, 也可直接写 git reset HEAD~1)
git reset --mixed HEAD~1 撤回最近一次的commit(撤销commit,撤销git add,保留文件修改部分,不会还原修改的文件)
git reset --hard HEAD~1 撤回最近一次的commit(撤销commit,撤销git add,还原改动的代码,之前修改的文件会还原, 慎用--hard参数)
git回滚代码:git reset --soft commit_id 撤回该commit_id的commit

git stash的使用(修改的代码不想提交但是又要切换分支,可以暂时将修改的内容存储起来,后面再恢复)

git stash save "message" // 存储修改的内容并且加上备注
git stash list // 查看存储列表,git stash save一次会形成一条记录
git stash pop // 弹出第一条存储列表
git stash pop stash@{n} // 弹出第n条存储列表
git stash clear // 清除所有的存储记录
git stash drop stash@{n} // 丢弃第n条存储记录

恢复暂存的stash

git stash apply stash@{n} // 索引号n从0开始

git提交绕过eslint检测

git commit -m "message" --no-verify

打标签tag(发布后一般是在主分支上,打标签前记得先git pull)

git tag -a 标签名 -m "备注内容" // 新增本地标签
git push --tag  // 推送到远程仓库

查看本地提交历史

git log // 查看本地提交历史
git log --oneline // 查看本地提交历史简洁版本
git log --grep=word // 查找提交历史中有改动的关键字
git show commitid // 提交历史查找是否存在某个commit id
git show commitid // 查看某个commit中修改的内容
  • 8
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Spring_z7

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值