当前位置: 首页 > article >正文

超详细Git的基本命令使用(三)

😀前言
本篇博文是关于Git的基本命令使用,希望你能够喜欢

🏠个人主页:晨犀主页
🧑个人简介:大家好,我是晨犀,希望我的文章可以帮助到大家,您的满意是我的动力😉😉

💕欢迎大家:这里是CSDN,我总结知识的地方,欢迎来到我的博客,感谢大家的观看🥰
如果文章有什么需要改进的地方还请大佬不吝赐教 先在此感谢啦😊

Git基本命令使用(接上篇)

  1. 然后查看状态及执行提交命令

    git statusgit push origin master
    
  2. 合并出现问题需要手动修改

    git diff branch1 branch2 --stat //显示出所有有差异的文件列表 
    git diff branch1 branch2 文件名(带路径) //显示指定文件的详细差异 
    git diff branch1 branch2 //显示出所有有差异的文件的详细差异
    
  3. 编辑有冲突的文件(只修改被合并的分支文件),删除特殊符号,决定要使用的内容

  4. 我们可以用 git add 要告诉 Git 文件冲突已经解决

    git add 文件名 //添加缓存区 
    git status -s //状态码解析,会显示如: M runoob.php 
    git commit -m "修改后" //重新提交
    

    状态码含义:

    A: 你本地新增的文件(服务器上没有).

    C: 文件的一个新拷贝.

    D: 你本地删除的文件(服务器上还在).

    M: 文件的内容或者mode被修改了.

    R: 文件名被修改了。

    T: 文件的类型被修改了。

    U: 文件没有被合并(你需要完成合并才能进行提交)。

    X: 未知状态(很可能是遇到git的bug了,你可以向git提交bug report)

    ?:未被git进行管理,可以使用git add file1把file1添加进git能被git所进行管理

  5. 错误回滚

#push前回滚
 --mixed 想保留本地修改,也想撤销commit 可以使用(默认--mixed)
git reset --mixed HEAD^
--soft 仅仅撤销 commit 
git reset --soft HEAD^
#--hard 全部撤销了,包括本地修改
git reset --hard HEAD^ 
git reset HEAD^                   //此时代码保留,回到 git add 之前(默认--mixed)
git reset --hard HEAD^            //回到最新的一次提交
git reset --hard HEAD~3           //回退上上上一个版本  
git reset --hard origin/master    //将本地的状态回退到和远程的一样 
#HEAD 说明:
#HEAD 表示当前版本
#HEAD^ 上一个版本
#HEAD^^ 上上一个版本
#HEAD^^^ 上上上一个版本
#以此类推...

#可以使用 ~数字表示

HEAD~0 表示当前版本
HEAD~1 上一个版本
HEAD^2 上上一个版本
HEAD^3 上上上一个版本
以此类推...
#push后回滚
#方式一
git revert HEAD             //撤销最近1次commit
git log                     //得到你需要回退一次提交的commit id
git revert <commit_id>      //回滚到指定版本
git push origin master      //提交回滚后的版本
#方式二
git log                           // 得到你需要回退一次提交的commit id
git log --oneline                 //查看简洁版本
git reset --hard                  // 回到其中你想要的某个版本
git push origin master -f         //强制提交一次,之前错误的提交就从远程仓库删除
git reset 和git revert区分
#revert是放弃指定提交的修改,但是会生成一次新的提交,需要填写提交注释,以前的历史记录都在;
#reset是指将HEAD指针指到指定提交,历史记录中不会出现放弃的提交记录。 
#删除某次提交
git log --oneline          //显示<commit_id>日志
git rebase -i <commit_id>  //删除<commit_id>次提交

20、git标签

如果你达到一个重要的阶段,并希望永远记住那个特别的提交快照,你可以使用 git tag 给它打上标签。

如一个重要版本出现,如稳定版,标签可以帮你快速定位到.

#一. 创建一个标签 
git tag -a <tagname>               // 创建一个标签
  git tag -a <tagname> -m "说明文字"   //创建一个标签带说明
    
如果我们忘了给某个提交打标签,又将它发布了,我们可以给它追加标签。
 git tag -a v0.9 <commit_id>             //<commit_id>代表最后一次的commit id
  git log --oneline --decorate --graph    //查看是否追加成功
    
列出标签
git tag                        //查看所有标签
git tag -n                     //列出标签和说明

删除标签:
git tag -d 标签名
git tag -d v1.0.1
    
删除远程标签(Git1.7版本以后):
git push origin --delete tag

21、打包所有文件

打包master分支的所有文件:

git archive --format=zip --output master.zip master

其中,输出格式为zip,输出文件为master.zip。git支持zip和tar两种输出格式。

打包当前分支当前HEAD的所有文件:

 git archive --format=zip --output head.zip HEAD

打包v1.2标签的所有文件:

git archive --format=zip --output v1.2.zip v1.2

三. 推送标签

  1. 推送指定标签:
git push origin v1.0.0
  1. 一次性推送全部尚未推送到远程的本地标签:
git push origin --tags

四. 获取指定tag代码

第一步:切换到指定标签,提示你当前处于一个“detached HEAD" 状态,因为 tag 相当于是一个快照,是不能更改它的代码的

git checkout v1.0.0

第二步:如果要在 tag 代码的基础上做修改,你需要一个分支

git checkout -b branch_name tag_name

第三步:切回到之前的HEAD指向(以master为例)

git checkout master

img

文章到这里就结束了,如果有什么疑问的地方请指出,诸大佬们一起来评论区一起讨论😁
希望能和诸大佬们一起努力,今后我们一起观看感谢您的阅读🍻
如果帮助到您不妨3连支持一下,创造不易您们的支持是我的动力🤞


http://www.kler.cn/a/283809.html

相关文章:

  • python实战(八)——情感识别(多分类)
  • Debezium日常分享系列之:异步 Debezium 嵌入式引擎
  • 红日靶机(七)笔记
  • 自动驾驶3D目标检测综述(一)
  • 15 个改变世界的开源项目:塑造现代技术的先锋力量
  • [项目代码] YOLOv5 铁路工人安全帽安全背心识别 [目标检测]
  • C++入门基础知识43——【关于C++循环】
  • Golang | Leetcode Golang题解之第384题打乱数组
  • RclimDex使用方法
  • 晟鑫商会与家盛资本携手合作,共创金融科技新篇章
  • uniapp踩坑实战之引用‘uview-ui‘
  • MySQL数据库设计基础:从零开始构建你的第一个数据库
  • 算法工程师第五十一天(dijkstra(堆优化版)精讲 Bellman_ford 算法精讲)
  • Python——模块和包
  • Tengine框架之配置表的Luban转换与加载
  • 数据分析学习之numpy
  • static关键字与单例模式
  • el-table自定义合并表格
  • 为什么 CNC 加工会产生毛刺?
  • 如何在 Vue 中创建一个带有表格和表单的弹窗
  • 数据结构之十字链表
  • 前端篇-html
  • 大数据技术之HBase简介(1)
  • ai免费生成ppt软件有哪些?我推荐秒出PPT
  • 基于detectron2框架的深度学习模型载入自定义数据集
  • 环境变量--永久 & 暂时