git学习总结

本文深入解析Git中工作区、版本库、暂存区等关键概念,详解gitinit、gitadd、gitcommit等常用命令的使用方法,涵盖分支管理、撤销修改、标签管理及回退操作,为开发者提供全面的Git操作指南。
摘要由CSDN通过智能技术生成

工作区、版本库和暂存区的概念

工作区:.git目录所在的文件夹就是工作区
版本库:.git文件夹就是git的版本库
暂存区:暂存区和分支都在版本库里面。把修改往版本库里面添加的时候是分为两步的,第一步git add把修改添加到暂存区,第二步git commit把暂存区的修改提交到当前分支

git常用命令

  • git init 初始化git仓库
  • git add 将修改添加到暂存区
  • git commit -m “提交说明” 把修改提交到仓库
  • git status 查看暂存区当前的状态
  • git diff 查看还未提交的文件做了什么修改(这个命令是对比工作区的文件和当前分支的最新提交有什么不同)
  • git log 查看提交记录,显示从最近到最远的提交日志,在命令后加 --pretty=oneline可以让显示的历史记录更简洁
  • git reset --hard head^ 回退到上一版本,head表示当前最新的版本,head表示上一版本,head^表示上上个一个版本,如果要表示前100个版本可以使用head~100
  • git reset --hard 版本号 每次提交都会产生一个版本号,可以使用版本号回退到任何一个版本,如果想恢复到未来某个版本却又不知道未来那个版本的版本号,可以使用 git reflog 查看每一次命令
  • 撤销修改
git checkout -- <file> 可以撤销工作区的修改(实际上是用当前分支的最新修改替换工作区的修改)
git reset head <file> 可以撤销暂存区的修改改
  • git rm <file> 删除文件
  • git tag 打标签或者查看标签,可以用-a指定标签名,-m指定标签说明,例如
$ git tag -a v0.1 -m "version 0.1 released" 1094adb
  • git show 查看标签的详细信息
  • git push origin 把某个标签推送到远程仓库,用 git push origin --tags 可以一次性把所有标签推送到远程仓库
  • 删除标签
1. 删除本地标签:git tag -d <tagname>
2. 删除远程仓库的标签:分两步,第一步先删除本地的标签,第二步git push origin :refs/tags/<tagname>

分支管理

  • git branch dev 创建dev分支
  • git checkout dev 切换到dev分支
  • git checkout -b dev 合并前两步,意思是创建并切换到dev
  • git branch 列出当前所有分支,前面有符号 * 的表示当前分支
  • git merge 合并指定分支到当前分支
1.这种合并采用的Fast forward模式,删除分支后会丢掉分支信息,可以用--no-ff强制禁用Fast forward模式
2.当git无法合并分支时首先要解决冲突,手动把文件改成需要的内容再进行提交,合并完成
  • git branch -d 删除指定分支
  • git stash 可以把当前工作现场存储起来,git stash list 可以查看存储起来的工作现场
恢复工作现场的两种方法:
1. **git stash apply** 恢复后stash内容并没有删除,要使用git stash drop来删除
2. **git stash pop** 恢复的同时也删除了stash里的内容
git stash使用场景,如果接到一个修复bug的任务,可以先把当前的工作现场存储起来,然后在哪个分支上修复就在哪个分支上创建临时分支,修复完之后切换会临时分支的父分支,然后合并临时分支并删除临时分支,最后恢复工作现场继续工作
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值