git简介

Git是一个分布式版本控制系统,它的工作原理基于以下关键概念和组件:

  1. 工作目录(Working Directory):
    这是用户正在进行更改的本地目录。它包含了项目的所有文件和子目录。

  2. 暂存区(Staging Area,也被称为索引):
    暂存区是一个文件,通常位于 .git 目录下,它保存了下一次提交(commit)将包含的文件的信息。当你执行 git add 命令时,变更(添加、修改、删除的文件)被放到这个暂存区域。

  3. 本地仓库(Local Repository):
    本地仓库是位于你的本地计算机上的一个目录,它由Git维护,并存储了项目的历史记录和变更数据。执行 git commit 命令时,暂存区中的变更会被记录到本地仓库中。

  4. 远程仓库(Remote Repository):
    远程仓库是位于网络上的服务器(如GitHub、GitLab或Bitbucket)上的版本库,它允许多个用户共享和协作。通过 git push 命令,你可以将本地仓库的变更推送到远程仓库;通过 git pullgit fetch 命令,你可以从远程仓库拉取变更到本地仓库。

  5. 分支(Branch):
    分支是项目开发的不同线路。默认分支是主分支(通常称为 mastermain)。你可以创建新分支来开发新功能或修复错误,而不会影响主分支。

  6. 提交(Commit):
    提交是项目历史的一个快照,包含了自上次提交以来对工作目录中文件的更改。每个提交都有一个唯一的ID(通常是一个SHA-1哈希)。
    在这里插入图片描述

Git的工作流程通常包括以下步骤:

  1. 克隆(Clone):
    从远程仓库克隆项目到本地计算机。

  2. 修改(Modify):
    在工作目录中添加、编辑或删除文件。

  3. 暂存(Stage):
    使用 git add 命令选择你希望包含在下次提交中的更改。

  4. 提交(Commit):
    使用 git commit 命令将暂存的更改保存到本地仓库。每次提交都会记录下谁做了哪些更改以及何时做的。

  5. 推送(Push):
    使用 git push 命令将本地的变更提交推送到远程仓库,以便其他人可以看到。

  6. 拉取/抓取(Pull/Fetch):
    使用 git pull 命令将远程仓库的变更拉取到本地仓库并合并。git fetch 命令则是只拉取变更,但不自动合并。

  7. 合并(Merge):
    当你在分支中完成工作后,可以将这些变更合并回主分支。

  8. 冲突解决(Conflict Resolution):
    如果两个分支对同一文件的同一部分进行了不同的更改,那么在合并时可能会发生冲突。这时,你需要手动解决这些冲突。

Git通过这些基本概念和操作,提供了一个强大的工具集,用于跟踪、共享和协作代码开发。

参考
https://git-scm.com/video/what-is-git
https://git-scm.com/book/zh/v2
https://www.getdbt.com/analytics-engineering/transformation/git-workflow

相关推荐

  1. <span style='color:red;'>git</span><span style='color:red;'>简介</span>

    git简介

    2024-05-04 12:56:03      31 阅读
  2. <span style='color:red;'>Git</span><span style='color:red;'>简介</span>

    Git简介

    2024-05-04 12:56:03      16 阅读
  3. <span style='color:red;'>git</span><span style='color:red;'>简介</span>

    git简介

    2024-05-04 12:56:03      10 阅读
  4. git各分支简介

    2024-05-04 12:56:03       39 阅读
  5. GIT使用简介

    2024-05-04 12:56:03       28 阅读
  6. GIT使用和简介

    2024-05-04 12:56:03       28 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-05-04 12:56:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-05-04 12:56:03       18 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-05-04 12:56:03       17 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-05-04 12:56:03       20 阅读

热门阅读

  1. 【Trick】conda指令安装yml文件中的python依赖

    2024-05-04 12:56:03       11 阅读
  2. 纯正英语新闻 5.7(提前)

    2024-05-04 12:56:03       9 阅读
  3. CDA Level Ⅰ 2023认证考试大纲

    2024-05-04 12:56:03       16 阅读
  4. Flask知识点汇总表格总结

    2024-05-04 12:56:03       9 阅读
  5. c++ memset 指针示例

    2024-05-04 12:56:03       9 阅读
  6. Element-UI库:Web前端开发的强大助力

    2024-05-04 12:56:03       14 阅读
  7. 【Unity】Mathf

    2024-05-04 12:56:03       11 阅读
  8. x86的开机过程(上)

    2024-05-04 12:56:03       8 阅读
  9. python经典百题之计算字符串中子串出现的次数

    2024-05-04 12:56:03       10 阅读