Git基本原理和初步实战

在这里插入图片描述
如果给所有软件列出一个排行榜的话,那么Git定会名列前茅。Git对于代码项目的管理是具有划时代意义的,向Linus致敬,不但写出了可以与Windows争锋的Linux系统,还设计实现了如此强大的版本管理工具。

当我了解Git后,真后悔没有早一点学习它,那样写论文就不用反反复复的修修改改了,能省去多少无用功呀。

Git

Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.

Git is easy to learn and has a tiny footprint with lightning fast performance. It outclasses SCM tools like Subversion, CVS, Perforce, and ClearCase with features like cheap local branching, convenient staging areas, and multiple workflows.

Git 和SVN

Git 不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等。

Git 与 SVN 区别点:

  • Git 是分布式的,SVN 不是:这是 Git 和其它非分布式的版本控制系统,例如 SVN,CVS 等,最核心的区别。
  • Git 把内容按元数据方式存储,而 SVN 是按文件:所有的资源控制系统都是把文件的元信息隐藏在一个类似 .svn、.cvs 等的文件夹里。
  • Git 分支和 SVN 的分支不同:分支在 SVN 中一点都不特别,其实它就是版本库中的另外一个目录。
  • Git 的内容完整性要优于 SVN:Git 的内容存储使用的是 SHA-1 哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。
    在这里插入图片描述

Git 初始化

任意选择一个文件夹,本文选择新建一个文件夹。使用git init创建一个空的 Git 仓库或重新初始化一个已存在的仓库。
在这里插入图片描述

Git本地操作

Git最基本的操作

在这里插入图片描述
图中的index指的稍后所说的暂存区,Objects值得稍后所说的对象区。

新建文件dota.txt。输入内容:dota中最强的英雄是影魔

  1. git status查看状态。此时文件在工作区在这里插入图片描述

  2. git add 通过这个命令将文件放入暂存区在这里插入图片描述

  3. git commit 通过这个命令将文件放入对象区在这里插入图片描述

  4. git push 通过这个命令将文件push到远端的服务器,比如github。在这里插入图片描述

  5. 在远端的服务器查看提交的文件。在这里插入图片描述

Git进阶操作-rebase

官方解释的比较繁琐,这里只说比较通用的用法。以某一个commit作为基准进行rebase。下面看具体的例子。

继续上文中的例子,加入我又玩了一段时间dota,发现影魔不是最厉害的,于是修改文件为:dota中最强的英雄是电魂。通过上面的操作将修改的文件放入对象区。
在这里插入图片描述
又玩了一段时间,发现电魂不是最厉害的,于是修改文件为:dota中最强的英雄是卡尔。类似操作,放入对象区。
在这里插入图片描述继续dota,发现电魂很菜,不想要这个commit了,这个时候就可以rebase了。这里只是演示,实际工作中可能在不知道的情况下,忽然又插入了一个commit,这个时候又需要以新的commit作为基准,那么rebase就是不得不做的事情了。

  1. git log -3 查看最近的3个commit。在这里插入图片描述
  2. git rebase -i 0d3023a 使用第一个commit作为基准。在这里插入图片描述
  3. 因为要删除电魂的commit,所以将pick修改位d,如果其他需求根据需要修改。在这里插入图片描述
  4. wq 保存,有冲突。在这里插入图片描述
  5. 修改冲突文件。修改后的内容是:dota中最强的英雄是卡尔
  6. git add .
  7. git rebase --continue
  8. git log查看修改结果,发现电魂的commit已经被成功移除了。在这里插入图片描述

常用指令

在这里插入图片描述

公众号

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

helloworddm

你的鼓励是我创作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值