首页 > 其他分享 >Git 和 GitHub 超入门指南(四)

Git 和 GitHub 超入门指南(四)

时间:2023-03-21 21:22:51浏览次数:30  
标签:Git 入门 -- GitHub 重置 索引 git 提交

Git基本命令

以下是一些基本的Git命令:

  • git add:将文件添加到Git索引中
  • git commit:将索引中的文件提交到Git仓库中
  • git status:查看工作目录和索引的状态
  • git log:查看提交历史记录

Git高级命令

以下是一些高级的Git命令:

  • git reset:回滚到某次提交
  • git revert:放弃某次提交
  • git rebase:变基

Github发布release版本

如果你想在GitHub上发布一个新版本,可以按照以下步骤操作:

  1. 在你的仓库页面上点击"Releases"选项卡。
  2. 点击"Draft a new release"按钮。
  3. 在弹出的窗口中填写新发布的版本号、标签、标题和描述等信息。
  4. 在描述中可以包含关于新版本的详细信息,例如修复的bug、新功能等。
  5. 上传你的软件包或文件。
  6. 点击"Publish release"按钮,完成发布。
  7. 其他用户可以通过下载或克隆你的代码库来获取新版本。

需要注意的是,创建Release需要有写入仓库的权限。如果你是仓库的管理员或拥有写入权限,就可以创建Release。如果没有写入权限,需要向仓库的管理员申请。

命令 作用
Reset(重置) 将分支顶端移至一个之前的提交。这个命令不要求提交消息。
Rebase(变基) 允许你改变分支历史记录中提交的存放方式。通常用于将多个提交压缩成一个提交。
Revert(还原) 还原共享分支上一个特定提交中做出的变更。需要push。

git reset 回滚到某次提交

git reset [<mode>] [<commit>]

参数 作用
--soft 头部重置为,会留下所有更改的文件“要提交的更改”。
--mixed 重置索引但不重置工作树(即保留更改的文件但未标记提交)并报告尚未更新的内容。(默认)
--hard 重置索引和工作树。后对工作树中跟踪文件的任何更改都将被丢弃。
--merge 重置索引并更新工作树中与和HEAD之间不同的文件,但保留索引和工作树之间不同的文件
--keep 重置索引条目并更新工作树中在和HEAD之间不同的文件。

git revert 放弃某次提交

git revert 前后的提交仍会保留在 git log 中,而此次撤销会做为一次新的提交。

git rebase

  • 编辑以前的提交消息
  • 将多个提交合并为一个
  • 删除或恢复不再需要的提交
  1. 重新设置另一个分支和当前分支状态之间的所有提交

git rebase --interactive other_branch_name

  1. 对当前分支中的最后几个提交进行rebase

git rebase -i HEAD~数字 # HEAD~数字 表示最近的几个commit

  1. 变基时有六个命令:

    • pick

    pick只是意味着包括提交。重新安排 pick 命令的顺序会更改提交的顺序。

    如果选择不包括提交,则应删除整行。

    • reword

    重新设置 commit 的机会。提交所做的任何更改均不受影响。

    • edit

    进行更多提交,然后再继续进行变基。比如在两个提交之间插入更多提交。

    • squash

    可以将两个或多个提交合并为一个提交。提交被压缩到其上方的提交中。

    • fixup

    这类似于squash,但提交仅合并到其上方的提交中,并且舍弃消息。

    • exec

    可以对提交运行任意的Shell命令。

问题 解决方案
回滚本地工作区未暂存的改动 git checkout -- 
回滚已暂存的改动,但未被提交 git reset --hard 
回滚commit所做的改动,生成新的commit,log不影响 git revert 
回滚已经提交的文件改动 git rebase -i 

标签:Git,入门,--,GitHub,重置,索引,git,提交
From: https://www.cnblogs.com/zuiyixin/p/17241499.html

相关文章

  • Git 和 GitHub 超入门指南(五)
    使用标签1.显示已有的标签gittag在Git自身项目仓库中,如果只对 1.0 系列的版本感兴趣,可以运行下面的命令:gittag-l'v1.0.*'2.创建标签创建一个含附注类型的......
  • 一个统计每个人git代码提交行数的命令
    进入项目目录printf"%25s%10s%10s%10s\n""用户名""总行数""添加行数""删除行数"gitlog--format='%aN'|sort-u-r|whilereadname;doprintf"%25s""$n......
  • 开源API网关APINTO:快速入门
    公司领导对选型APINTO网关比较满意,自然少不了体验一下。首先来体验一下API网关最基本的功能:转发请求。Apinto快速入门从Apinto官网扒了个配置流程图,Apinto网关控制台主......
  • Android 开发入门(2)| 简单控件
    0x04简单控件(1)文本显示a.添加文本设置文本内容主要有两种方式:XML:通过属性android:text设置在layout目录下新建activity_text_view.xml<?xmlversion="1.0"......
  • Hash算法入门和应用场景
    1.Hash是什么,它的作用散列算法(HashAlgorithm),又称哈希算法,杂凑算法,是一种从任意文件中创造小的数字「指纹」的方法。与指纹一样,==散列算法就是一种以较短的信息来保证文件......
  • Git08-diff
    diff是英文differences(差异)的缩写,指的是两个事物的不同。在Linux系统和UNIX系统中,diff命令会逐行比较两个文本的差异然后显示出来。//(1)创建initial文件]#cat......
  • Java入门第一步:写出你的Hello World
    当你学习一种新的编程语言时,通常你会看到第一个程序被称为“HelloWorld”程序。它通常用于初学者的简单程序。假设你是作为Java编程语言的初学者阅读这篇文章的,或者你......
  • 恢复误删的git分支
    #开头引用我参考文章内容????????我猜你进来找答案的时候表情应该是这样的既然进来了,问题肯定是可以解决的,继续往下看#第一种方式#1.找到需要恢复的信息对应的commitidgitreflo......
  • Cadence入门笔记(三):PCB封装制作
    新建文件首先打开allegro,选择新建一个Packgesymbol随后调整一下图纸的单位和边框大小扩展(把调整Extends可以把原点居中放置,原生只在左下角)为了调用之前设计好的pad文......
  • 《渗透测试》Web应用&源码泄漏&开源闭源&指纹识别&GIT&SVN&DS&备份 2023 Day13
       #后端-开源-指纹识别-源码下载CMS识别见上述项目 #后端-闭源-配置不当-源码泄漏参考:https://www.secpulse.com/archives/124398.html备份:敏感目录文件扫......