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

😀前言

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

🏠个人主页:晨犀主页

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

💕欢迎大家:这里是CSDN,我总结知识的地方,欢迎来到我的博客,感谢大家的观看🥰

如果文章有什么需要改进的地方还请大佬不吝赐教 先在此感谢啦😊

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

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

    cpp 复制代码
    git statusgit push origin master
  2. 合并出现问题需要手动修改

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

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

    cpp 复制代码
    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. 错误回滚

csharp 复制代码
#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 给它打上标签。

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

cpp 复制代码
#一. 创建一个标签 
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分支的所有文件:

csharp 复制代码
git archive --format=zip --output master.zip master

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

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

csharp 复制代码
 git archive --format=zip --output head.zip HEAD

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

csharp 复制代码
git archive --format=zip --output v1.2.zip v1.2

三. 推送标签

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

四. 获取指定tag代码

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

cpp 复制代码
git checkout v1.0.0

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

cpp 复制代码
git checkout -b branch_name tag_name

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

cpp 复制代码
git checkout master

文章到这里就结束了,如果有什么疑问的地方请指出,诸大佬们一起来评论区一起讨论😁

希望能和诸大佬们一起努力,今后我们一起观看感谢您的阅读🍻

如果帮助到您不妨3连支持一下,创造不易您们的支持是我的动力🤞

相关推荐
zhixingheyi_tian5 小时前
Spark 之 Aggregate
大数据·分布式·spark
PersistJiao5 小时前
Spark 分布式计算中网络传输和序列化的关系(一)
大数据·网络·spark
yyycqupt5 小时前
git使用(一)
git
宅小海8 小时前
scala String
大数据·开发语言·scala
小白的白是白痴的白8 小时前
11.17 Scala练习:梦想清单管理
大数据
java1234_小锋8 小时前
Elasticsearch是如何实现Master选举的?
大数据·elasticsearch·搜索引擎
Kkooe9 小时前
GitLab|数据迁移
运维·服务器·git
Beekeeper&&P...9 小时前
git bash是什么,git是什么,git中的暂存区是什么,git中的本地仓库是什么,git中工作目录指的是什么
开发语言·git·bash
Java 第一深情12 小时前
零基础入门Flink,掌握基本使用方法
大数据·flink·实时计算