1.如何理解版本控制?
版本控制系统是一种用来追踪和管理文件变更的工具,主要用于记录代码的历史变动、协调多人协作开发、以及快速回滚错误等情况。版本控制系统主要分为以下两类:
集中式版本控制(例如svn):所有的操作都依赖于中央服务器,存在单点故障的风险。 分布式版本控制(例如git):每个开发者都拥有完整的仓库副本,独立性更高。Git的核心特性包括:
分布式架构:每个本地仓库都是完整的代码库,包含全部历史记录。支持离线操作(如提交、分支切换等)。 高效性能:基于快照存储(而非传统的差异存储),操作速度更快。优化了大型项目和二进制文件的处理。 数据完整性:使用SHA-1哈希算法确保每次提交的唯一性,防止数据篡改。 灵活的分支模型:分支创建和合并成本低,鼓励频繁的分支操作(如功能分支、bug修复分支)。
2.Git的操作
安装Git
yum install git
在gitee上创建项目
在项目页面中复制项目的链接。
下载项目到本地
创建一个存放代码的目录。
git clone [url]
这里的url是刚刚创建的项目的链接。
将远端仓库拉取到本地文件。
远端仓库的位置在哪里呢?
我们会发现当前目录下多了一个.git目录,严格来说,这个.git目录才是新建的仓库,我们将其称为隐藏的本地仓库。注意:git提交时,只会提交变化的部分!
当我们将远端仓库拉取到本地后,就可以在当前目录下添加代码。我们首先在当前目录下创建一个test.c文件。
我们刚创建的test.c文件现在还没有被本地仓库管理。当我们将test.c添加到本地仓库后,才能通过push将本地仓库推送到远端。
我们通常将.git称为目录,将当前目录称为工作区。
将test.c添加到本地仓库。
严格来说,此时的test.c并没有真正添加到本地仓库,而是放到了一个称为暂存区的地方。这个暂存区允许我们多次添加文件,然后一次性提交到仓库。
使用git status可以查看当前状态。
new file表示这个文件是新添加的。
使用git commit真正将文件提交到本地仓库。我们直接输入git commit是不行的,需要加上-m选项,我们称之为日志信息或提交日志信息。注意:-m后面的内容不能随意填写,必须清楚地说明本次提交做了什么。
使用git log可以查看日志,例如我们刚才的提交信息。
使用git push可以使本地仓库与远端仓库同步。
如果我们不小心删除了本地仓库,想获取历史提交信息,不用担心,我们只需复制链接,使用git clone + 链接,就可以将之前的记录重新拉取下来。