首页 > 其他分享 >Head First Git笔记

Head First Git笔记

时间:2022-12-18 14:33:30浏览次数:46  
标签:index Head git head Git 提交 分支 节点 First

第4章

  git restore 文件名:当还没有提交到Index时,撤销当前做的修改,working directory, index, object database当前一样;想象与git add相反

  git restore --staged 文件名:当把修改提交到Index后,撤销所做的修改,index, object database一样,working directory不一样;想象与git commit相反

  git rm 文件名:将文件从index和working directory中移除掉,注意,如果是untracked的文件,可以不通过git命令删除,直接用linux的rm命令删除即可;如果对tracked的文件用linux的rm删除,则会有点问题,可以执行git add -u 文件名来更新一下index,因为你刚刚直接删除文件后index中的没有删除,所以要更新一下。也就是说,git rm只用于tracked的文件。

  git mv 文件名a 文件名b:将文件从文件名a改为文件名b,也只用于tracked的文件。

  git commit --amend -m "新的注释说明":修改所在分支的最后一次提交的信息,注意点:只能修改最后一次提交的;只能当index没有东西的时候执行,不然会把你在index暂存的一起给提价了,因为这个命令的原理是把object database中的内容复制到index,然后再做一次提交,覆盖掉上一次的提交,与上一次提交的元数据里面就只有注释信息的差异,时间、提交人这些都不会改变。

  git branch -m(--move) 新的分支名:将当前的分支名改为新的分支名;git branch -m 老的分支名 新的分支名:不管你现在在哪个分支,将老的分支名修改为新的分支名

  head:代表当前分支的最后一次的提交。head~1代表父亲提交节点,head~2代表父亲的父亲提交节点,以此类推。head~1与head~等价。如果当前处在合并分支的节点,则它会有两个父亲节点,则head^1代表第一个父亲,即proposer,head^2代表第二个父亲,即proposee。有了这个便利的写法,就可以用在git switch, git diff, git reset等上面。

  git reset 之前的某一提交节点:撤销改变到之前的某一个节点,这个节点可以任意。常用的有3个flag,--soft:object database变为你的参数节点的内容,working directory和index变为当前节点的内容,你还有反悔的机会(再提交就相当于反悔了);--mixed(这是默认选项):object database和index变为你的参数节点的内容,working directory变为当前节点的内容,你也还有反悔的机会(add一次,提交一次就相当于反悔了);--hard:直接回到你的参数节点的内容,三个区域的内容都为你的参数节点的内容,这次就没有反悔的机会了。

  git revert head:用于退回到上一次提交的状态。这个命令本质上又多出了一条提交记录,只是回到了上一次提交的状态,跟git reset区别还是挺大的,这个命令不会擦除历史提交,而git reset会。

  

  

标签:index,Head,git,head,Git,提交,分支,节点,First
From: https://www.cnblogs.com/tan-cong/p/16990361.html

相关文章

  • git学习笔记
    1、git是什么?Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。Git是LinusTorvalds为了帮助管理Linux内核开发而开发的一个......
  • idea集成Git
    环境准备配置忽略文件目的:部分文件与项目的实际功能无关(如idea生成的一些文件),不参与服务器上部署运行,把它们忽略掉能够屏蔽IDE工具之间的差异。创建忽略规则文件xxx.i......
  • Gitblit的windows安装(java编写)
    准备工作:1、jdk(大于等于1.8版本)2、GitBlit压缩包;jdk下载地址:https://www.java.com/zh-CN/Gitblit下载地址:http://www.gitblit.com/2、安装java的环境变量此处不在赘述,可......
  • git相关问题连接
    创建vue相关项目vuecreateh5创建gitee,SSH仓库方便vsc上直接提交​​https://blog.csdn.net/forever__fish/article/details/123555638​​生成key方法​​https://gitee.......
  • Git学习
    学习视频:【【狂神说Java】Git最新教程通俗易懂】代理问题解决问题形式已在GitHub上成功创建项目'XXXXXX',但初始推送失败:unabletoaccess'https://github.com/X......
  • git进阶
    TableofContentsgithub合并add和commit版本穿梭(回退commit)troubshotgit的三种状态恢复gitlog标莶gitstashgitblamea.txt起别名:gitconfig–global......
  • GIt分布式管理工具
    Git(分布式版本控制工具)Git的学习是不依赖我们前面学习的知识,就算没有学习java也可以学习Git就是一个类似于百度云盘的仓库重点是要掌握使用idea操作Git,企业用的最多,一般......
  • Git命令的使用
    Git命令 设置用户签名gitconfig--globaluser.name用户名gitconfig--globaluser.email邮箱初始化本地库在目录内打开GitBashHeregitinit查看本地库状......
  • git基本操作
    1、常见命令1.1、gitinit用来初始化一个Git仓库,执行完命令后会生成一个.git目录1.2、编辑git配置文件gitconfig--globaluser.name“用户名”/gitconfig--glo......
  • 2、运行Git前的配置
    一般在新的系统上,我们都需要先配置下自己的Git工作环境。配置工作只需一次,以后升级时还会沿用现在的配置。当然,如果需要,你随时可以用相同的命令修改已有的配置。​​git-c......