目录

Linux篇版本控制器-Git

【Linux篇】版本控制器-Git

📌 个人主页:

🔧 文章专栏:

💡 关注我,分享经验,助你少走弯路!

https://i-blog.csdnimg.cn/direct/31353518f13c4835b3fda0edca62b01c.gif#pic_center

1.如何理解版本控制?

版本控制是追踪和管理文件变更的系统,用于记录代码的历史修改、协调多人协作、快速回滚错误等场景。常见的版本控制系统分为两类:

  • 集中式版本控制(如 SVN) :所有操作依赖中央服务器,存在单点故障风险。
  • 分布式版本控制(如 Git) :每个开发者拥有完整的仓库副本,独立性更强。

Git 的核心特性:

  1. 分布式架构

    • 每个本地仓库都是完整的代码库,包含全部历史记录。
    • 支持离线操作(提交、分支切换等)。
  2. 高效性能

    • 基于快照存储(非传统差异存储),操作速度快。
    • 优化大型项目和二进制文件处理。
  3. 数据完整性

    • 使用 SHA-1 哈希算法确保每次提交的唯一性,防止数据篡改。
  4. 灵活的分支模型

    • 分支创建、合并成本极低,鼓励频繁分支操作(如功能分支、Bug 修复分支)。

2.Git的操作

  1. 安装Git

    yum install git

  2. 在Gitee创建项目

    https://i-blog.csdnimg.cn/direct/c325703311324c21836b308ff53e5107.png

  3. 在创建好的项目页面中复制项目的链接。

    https://i-blog.csdnimg.cn/direct/df45bf3496d646619b60c803994f4e6f.png

    下载项目到本地

    创建好一个放置代码的目录.

    git clone [url]

    这里的 url 就是刚刚建立好的项目的链接.

    https://i-blog.csdnimg.cn/direct/b3c5ff3a6c2349e992d61e87aaa2b47d.png

    把远端仓库拉取到本地文件。

  4. 这个远端仓库在哪里呢?

    https://i-blog.csdnimg.cn/direct/f90f5742f7bf4d05b3270cfa406516fb.png

    我们会发现在在当前目录下多了一个 .git 目录,严格意义上讲,这个 .git 才是当前新建的仓库,我们把 .git 称之为隐藏的本地仓库。

    注意: git提交的时候,只会提交变化的部分!

  5. 当我们把远端仓库拉取到本地时,我们就可以在当前的目录下新增代码,我们首先在当前目录下创建一个 test.c

    https://i-blog.csdnimg.cn/direct/a86be210e1064902998ca13ccd169564.png

    我们刚刚创建的 test.c 现在并没有被本地仓库管理起来,当我们把 test.c 添加到本地仓库里的时候,这时候 push 才能把本地仓库推送到远端。

  6. 我们一般把 .git 称之为 目录 ,把当前目录名称之为 工作区

    https://i-blog.csdnimg.cn/direct/2d9f315e258541da96cf561d83586532.png

  7. test.c 添加到本地仓库

    https://i-blog.csdnimg.cn/direct/5c4618cf1dff4992a1953b91d681e74f.png

    严格意义上讲,此时的 test.c 并没有真正意义上添加到本地仓库,而是放到一个叫 暂存区 里面。这个暂存区允许我们多次添加,一次提交到仓库。

  8. git status 可以看到当前的一个状态

    https://i-blog.csdnimg.cn/direct/e79f2511fe2141688e9fd70bf0fc93cd.png

    new file 说明次文件是新增的。

  9. git commit 真正意义上的提交到本地仓库,我们直接输入 git commit 是不行的,我们需要带上 -m 选项,我们称之为 日志信息 或者 提交日志信息 。注意:-m后面跟的内容不能胡乱写,必须写清楚本次提交都干了什么。

    https://i-blog.csdnimg.cn/direct/9192bb72a3064db49e0a82b400237fd9.png

  10. git log 可以看到日志,比如我们刚才的推送信息

    https://i-blog.csdnimg.cn/direct/70ff91a6027f4195b05f6e981afc9d1a.png

  11. git push 使本地仓库和远端仓库同步

  12. 如果我们不小心删除了本地仓库,我们想获得我们历史上的提交信息,不用担心,我们直接复制链接,进行 git clone + 链接 ,就可以把我们之前的记录重新拉取下来。

    https://i-blog.csdnimg.cn/direct/61fef65a62784370b5046f6e4ca8b220.png

    以上就是一次 Liunx 下的 git 的基本提交,总结一下就是 git三板斧

  • git add

  • git commit

  • git push

    附加: git log :查看日志 git status :查看状态


补充细节问题

  1. git 命令行安装
sudo yum install git
sudo apt install -y git

查看是否安装 git --version ,出现下面带有版本号的表明已经安装。

https://i-blog.csdnimg.cn/direct/7154c68e717a46ef9769c1c604c447f5.png

  1. 首次使用:需要输入 username , email

    https://i-blog.csdnimg.cn/direct/4e33d7f894fa4f46b4f1cb6b93241500.png

  2. git 版本管理,只进行管理源文件

  3. 如果像以下这样的临时文件不想提交到本地仓库并且提交到远端呢?

    https://i-blog.csdnimg.cn/direct/213badc8862c41d6a1ad3894aba9f21f.png

  4. 我们在构建仓库时存在一个 .gitignore ,这个文件是帮助我们进行本地文件后缀过滤的,意思是如果临时文件对应的后缀在此文件中有的话,对应的文件都不会被提交。(忽略特定后缀的文件)

    https://i-blog.csdnimg.cn/direct/7383943c0d714b4bb4e3b5472fedeef5.png

  5. 打开 .gitignore 文件,这都是些临时文件的后缀,当然我们也可以自己向里面添加。 https://i-blog.csdnimg.cn/direct/a47a38247dec47ebb953f42dd6c90176.png

  6. 如果一个人在一台机器上提交了代码,另一个人在另一台机器上提交代码,就会出现下面情况,提交冲突了,我们就需要 git pull 将远端仓库和本地仓库进行一次同步。然后提交。

    https://i-blog.csdnimg.cn/direct/45da88311c1c476ea661aee92700b47c.png

    总结:远端仓库相比较于任何人都是最新的!

    为什么冲突呢?答案是提醒本地用户,你需要和远端仓库同步。


👍 如果对你有帮助,欢迎:

  • 点赞 ⭐️
  • 收藏 📌
  • 关注 🔔