Git托管工具(Trusteeship Tool——Git)

PL-TD 发布于 2025-05-18 51 次阅读


Git - 分布式版本控制工具

1.为什么要使用版本控制工具

  • 在开发一个工程的过程中,我们时常需要进行一些备份操作

  • 如果代码有无法修复的问题或者工程的需求有改变就需要进行代码还原

  • 并且在实际开发过程中,往往需要多个成员进行协同开发

  • 平时使用一些基本的沟通工具如QQ微信的文件传输功能也不能满足要求,所以在这样的需求下就需要我们使用版本控制工具

  • 应用场景:

2.什么是版本控制工具

  • 定义:版本控制工具是一种提供完整版本管理功能、用于储存、追踪文件和目录的修改记录开发工具,常用于记录代码、文档或其他文件的修改记录
  • 分类:版本控制工具可分为两种
    • 集中式版本控制工具
    • 分布式版本控制工具

分布式版本控制工具

  • 介绍:对于分布式的版本控制工具,每个人电脑上的都是一个完整的版本库,不存在中央服务器,工作时不需要联网,因为版本库就在自己的电脑上。多人协作时只要将各自的修改推送给对方,就能够看到对方的修改了(举例:GIT
  • 总结:每个开发者都有完整的代码仓库,可以离线工作,但是在实际工作时,更常使用中央服务器(如 GitHub/GitLab)来协调团队成员的修改

集中式版本控制工具

  • 介绍:集中式版本控制工具的版本库是集中放在中央服务器中的,team中每个人工作时从中央服务器中下载代码,必须联网才能正常工作。个人修改后然后提交到中央版本库中(举例:SVN和CVS
  • 总结:所有代码存储在中央服务器,开发者必须先拉取最新代码才能修改。

image-20250127233907540

分布式vs集中式

分布式 VS 集中式 优点✅ 缺点❌
分布式(如Git) 不依赖中央服务器(去中心)和网络
安全 分支管理更灵活
适合大型项目 使用起来速度快
学习曲线稍高,并且可能会有炸仓库风险
集中式(如SVN) 管理简单,适合小团队 依赖网络,服务器宕机时无法工作

3.Git的工作流程图

image-20250127235333035

4.Git的常用命令

常用指令

  1. clone:即git clone,用于将远程仓库完整复制到本地【在首次获取项目时使用】

    git clone https://github.com/user/repo.git  # 使用 HTTPS克隆仓库
    git clone git@github.com:user/repo.git     # 使用 SSH克隆仓库
  2. checkout:即git checkout,这个指令有两个作用

    • 切换分支

    • 丢弃工作区的修改【⚠️危险操作

      git checkout main           # 切换到 main 分支
      git checkout -b new-branch  # 创建并切换到新分支
      git checkout -- file.txt    # 丢弃 file.txt 的未暂存修改
  3. add:即git add,用于将工作区的修改添加到暂存区准备提交状态】

    git add file.txt        # 暂存单个文件
    git add .              # 暂存所有修改(包括新增/删除)
    git add -p             # 交互式选择部分修改
    • 💡注意提交(commit)修改前必须用add指令将修改添加到暂存区
  4. commit:即git commit,用于将暂存区的变更永久保存在本地仓库(需要添加描述)

    git commit -m "修复登录页面的BUG"  # 提交并添加描述
    git commit --amend               # 修改最近一次提交(可改描述或内容)
  5. fetch:即git fetch,从远程仓库下载最新数据【⚠️不会自动合并】

    git fetch origin  # 获取 origin 远程的所有分支更新
    git fetch --all   # 获取所有远程仓库的更新
    • 查看本地和远程的差异git log origin/main..main
    • 合并更新:需手动执行 git mergegit rebase
  6. pull:即git pull,是git fetch + git merge的组合操作,从远程仓库下载最新数据,并

    git pull origin main      # 拉取 origin 的 main 分支并合并
    git pull --rebase        # 使用 rebase 代替 merge(保持线性历史)
    • 注意:如果有冲突需手动解决!
  7. push:即git push,将本地提交(local commit)上传到远程仓库

    git push origin main      # 推送 main 分支到 origin
    git push -u origin dev    # 首次推送 dev 分支并设置上游跟踪
    git push --force          # 强制覆盖远程(谨慎使用!)
    • 💡注意:如果远程有更新,需先 git pull 避免冲突
  8. help:即git help,查看文档,在遇到问题时可以随时使用

  • 核心工作图

    工作区 → git add → 暂存区 → git commit → 本地仓库 → git push → 远程仓库

Linux指令

  • Git 的设计与 Linux 环境高度兼容
  1. ll/ls:查看当前目录(ls:目录下有哪些文件夹;ll:目录下有哪些文件)
  2. cat:查看文件内容
  3. touch:创建文件
  4. vi:打开vi编辑器(使用vi编辑器是为了方便展示)
    • vi编辑器的基本操作:
      • 点击Insert键进入输入模式
      • 开始输入
      • 点击Esc键
      • 输入:wq保存并退出

5.Git工具分类

GitBash

  • 介绍GitBash是一个基于命令行的工具,它为 Windows 用户提供了类似 Unix/Linux Shell 的体验,让用户能够通过命令行操作 Git
  • 💡特点
    • 命令行界面:可以像在 Linux 或 macOS 的终端中一样使用 Git 命令
    • 适合开发者:更高级、更灵活,适合习惯命令行的程序员
    • 轻量、强大:适合执行复杂的 Git 操作

GitGUI

  • 介绍Git GUI 是 Git 自带的一个图形用户界面工具,适合不熟悉命令行的用户,或者希望以更直观方式管理 Git 项目的人

  • 💡特点

    • 图形化操作:通过点击按钮完成提交、推送、拉取、合并等操作
    • 可视化查看变更:可以直观看到文件的改动、差异、提交记录等
  • 但是还是不如GitHub Desktop等Git客户端这些图形化客户端方便,如果要使用图形化界面,更推荐图形化的Git客户端

6.基本环境配置

  • ⚠️注意:当安装Git后首先的事情就是设置用户名email地址,这是非常重要的,因为每次Git提交都会使用该用户信息

  • 配置全局用户名

    • 配置git config --global user.name 用户名
    • 查看git config --global user.name
  • 配置全局email邮箱

    • 配置git config --global user.email 邮箱
    • 查看git config --global user.email

7.为常用指令配置别名(💡可选,为了方便操作)

  • 有些常用的指令参数非常多,每次都要输入好多参数,我们可以使用别名,方便使用这些指令

    1. 打开C盘的用户(user)\用户名(user name)目录,创建一个.bashrc文件(或打开GitBash,执行touch ~/.bashrc指令【在当前目录下创建一个名为.bashrc的文件】)

    2. 在.bashrc文件下输入一下内容:

      # 用于输出git提交日志(将指令简化为git-log)
      alias git-log='git log --pretty=oneline --all --graph --abbrev-commit'
      # 用于输出当前目录所有文件及基本信息(将指令简化为ll)
      alias ll='ls -al'
    3. 打开GitBash,执行source ~/.bashrc命令

8.Git本地仓库

获取本地仓库

  • 要想使用Git工具进行版本控制操作,必须先获取本地仓库,要获取本地仓库要进行一下操作
    1. 在电脑任意位置创建一个空目录作为本地Git仓库(这一步也可以跳过)
    2. 在这个目录中右键打开GitBash
    3. 执行git init指令对git进行初始化,如果执行成功就可以看见文件夹中隐藏的.git文件

对本地仓库的基础操作

  1. Git工作目录(除.git外文件修改(增加,删除,更新)会存在几个状态,这些修改状态会随着我们执行的Git命令而发生变化

    • 如何控制这些状态之间的切换

      1. git add (工作区 ——》 暂存区)
        • 常用git add .指令
      2. git commit (暂存区 ——》 本地仓库)
        • 常用git commit -m “注释内容”指令
      • 流程说明工作区 ——> add ——> 暂存区 ——> commit ——> 本地仓库
    • git目录的状态说明

      状态 含义
      Untracked 文件未被Git跟踪(需 git add 开始跟踪)。
      Modified 文件已修改但未暂存(需 git addgit checkout -- <file> 丢弃)。
      Staged 修改已暂存,等待提交(git commit)。
      Deleted/Renamed 文件被删除或重命名(需 git add 记录操作)。
  2. 产看Git工作目录当前的状态

    • 命令git status
    • 作用:用来显示 当前 Git 仓库中文件的状态,也就是告诉你:
      • 哪些文件被修改了但还没暂存
      • 哪些文件已经暂存了但还没提交
      • 哪些文件是未被 Git 跟踪的(Untracked)
      • 当前分支名称,以及是否有东西可以提交
  3. 查看提交日志

    • 命令git log [option]
      • [option]:
      • --all:显示所有的分支
      • -n:显示最近的n条提交
      • git log --stat:显示简略统计信息(修改了哪些文件,增减行数)
      • --pretty=oneline:将提交记录显示为单行
      • --abbrev-commit:使得输出的commit ID更简短
      • --graph:以ASCII图像的形式显示日志
    • 作用
      • 查看提交历史
      • 追踪项目变更
      • 分析代码演变过程
      • 查找特定修改
  4. 版本回退

    • 命令git reset --hard commitIDcommitID可以使用git-log或git log指令查看】
    • 作用
      • 彻底回退到某个提交(包括代码、暂存区和工作目录)
      • 丢弃所有未提交的更改(包括 git add 过的文件)
      • 注意⚠️:它会 永久删除未提交的修改,无法通过 git reflog 恢复(除非提交过)
  5. 查看已删除记录

    • 命令git reflog
      • 一个极其重要的指令,用于查看本地仓库的引用记录(Reference Logs),记录所有Head分支此分支的变更记录(包括被 resetrebase删除的提交)
    • 作用
      • 找回丢失的提交(如误操作 git reset --hardgit rebase 或删除分支【不过不能找回未提交的修改】)
      • 查看所有 Git 操作记录(包括切换分支、提交、合并、重置等)。
      • 恢复误删的代码(即使远程仓库没有push记录)。
  6. 添加文件至忽略列表(.gitignore文件).

    • 作用防止一些不想让git管理的文件被git管理

    • 操作创建一个.gitignore文件(touch .gitignore),然后进入文件中编辑,添加要忽略的文件类型

    • .gitignore文件的基本语法

      1. 忽略特定文件
      # 忽略单个文件(让git忽略目录下的filename.txt文件)
      filename.txt
      1. 忽略特定文件类型
      # 忽略所有文件类型为 .log 的文件
      *.log
      1. 忽略特定目录
      # 忽略整个目录(让git不会追踪node_modules/下的任何文件)
      node_modules/
      1. 忽略特定目录下的某类文件
      # 忽略 logs/ 目录下的所有 .txt 文件
      logs/*.txt
      1. 忽略所有目录下的某类文件
      # 忽略所有目录下的 .tmp 文件
      **/*.tmp
      1. 不忽略某个特定文件
      # 忽略所有 .txt 文件,但不忽略 important.txt
      *.txt
      !important.txt
    • 设置全局gitignore

    git config --global core.excludesfile ~/.gitignore_global
    • 已经被追踪已经被提交的文件也受到.gitignore文件的限制
    git rm -r --cached .  # 清除所有缓存
    git add .             # 重新添加文件
    git commit -m "Update .gitignore"

9.Git远程仓库

开发中常用的远程仓库

  1. github
    • 优势:
      • 开发者生态完善:开源项目首选,全球开发者活跃,协作方便。
      • 集成广泛:支持大量第三方工具(如 Slack、VS Code)。
    • 劣势:
      • 国内访问不稳定:需科学上网或加速器。
      • 私有仓库限制免费版协作人数有限(最多 3 人)。
    • 适用场景:开源项目、国际化团队、需要强大生态支持的开发者。
  2. gitee(码云)
    • 优势:
      • 国内访问快:无需翻墙,适合国内团队。
      • 免费私有仓库:适合中小企业或个人开发者。
    • 劣势:
      • 功能较少:CI/CD、DevOps 工具链不如 GitHub/GitLab 完善。
    • 适用场景:国内企业、个人开发者、需要快速访问和私有仓库的项目。
  3. gitlab
    • 优势:
      • DevOps 全流程:代码、测试、部署一站式解决。
      • 高度可定制:支持私有化部署,适合企业级需求。
      • 免费私有仓库:无协作人数限制。
    • 劣势:
      • 社区规模小:开源生态不如 GitHub。
      • 自托管成本高:需维护服务器资源。
    • 适用场景:企业级 DevOps、需要高度定制化或私有化部署的团队。
  • 🔍对比总结
平台 访问速度 私有仓库 国际化 DevOps 支持 适用场景
GitHub 慢(国内) 有限免费 极强 中等 开源项目、全球化团队
Gitee 完全免费 基础 国内团队、个人开发者
GitLab 中等 完全免费 中等 极强 企业 DevOps、自托管需求
  • ⚠️Git远程仓库的创建将在后面编译器设置中进行讲解

配置SSH密钥

  • 如果我们选择使用SSH的上传与下载方式,就需要先配置SSH公钥
  1. 生成SSH密钥

    • 输入指令ssh-keygen -t rsa生成密钥,之后不断点击Enter以生成覆盖密钥
  2. 对应平台账户设置共用SSH密钥

    • 下列以GitHub作为例子(需要科学上网,其他的平台也可以参考这个例子):

      1. 点击右上角的用户,然后点击并进入Settings

      image-20250422170536910

      1. 点击左侧中的SSH and GPC keys选项,然后点击New SSH key来创建一个新的SSH key

      image-20250422170900222

      1. 先在git bash中输入cat ~/.ssh/id_rsa.pub指令查看一下自己的密钥,然后将此密钥复制(git bash中选中即可复制)

      image-20250422171240504

      1. 在添加页面输入对应的密钥名称和刚刚复制好的密钥,最后点击Add SSH Key以添加密钥

      image-20250422171559956

  3. 检查密钥是否配置成功

  • ⚠️配置远程仓库时可能遇见的问题

操作远程仓库

做完了上述的前期操作,现在就可以在git bash中进行添加远程仓库等指令了

  1. 添加远程仓库

    • 命令git remote add <远端名称> <仓库URL>

    • 说明

      • 远程仓库的名称默认为origin

      • 仓库的URL在远程仓库中的Code中选择SSH方式以获取【以SSH密钥的方式获取URL】

      image-20250422174446439

  2. 查看远程仓库

    • 命令git remote -v
  3. 设置本地分支跟踪的远程分支

    • 命令git branch --set-upstream-to=<远端名称>/<远程分支> <本地分支>
    • 说明:在添加了远程仓库后,本地仓库需要跟踪远程分支,才能将自己的内容上传到分支中
  4. 强制链接本地仓库和远程仓库

    • 命令git pull origin main --allow-unrelated-histories
    • 说明⚠️:当你创建并初始化了一个本地仓库,并在本地有提交记录,然后又在远程仓库中也有一些提交,在本地分支跟踪了远程分支后,一般需要使用这个指令来强制链接
  5. 推送至远程仓库

    • 命令git push -f --set-upstream 远端名称 本地分支名:远端分支名
    • 说明
      • 如果本地分支的名称和远程仓库中跟踪的分支名称相同,那么可以只写一次分支名
      • git push origin main
      • 参数说明:
      • -f:当本地与远端仓库的同一个文件修改了同一个东西(有冲突)时,强制推送至远程分支并覆盖冲突文件【慎用】
      • --set-upstream:推送到远端的同时并且建立起和远端分支的联系关系【使用于第一次的初始推送
  6. 查看本地分支与远程分支的关联关系

    • 命令git branch -vv
  7. 从远程仓库克隆

    • 命令git clone 仓库路径 本地目录
    • 说明:本地目录可以省略,会自动生成一个目录【不用初始化,直接克隆】
  8. 从远程仓库抓取拉取

    • 抓取
      • 命令git fetch 远程分支名 本地分支名
      • 作用:将远程仓库对应分支的更新都抓取到本地,但是不会自动进行合并操作
      • 说明:如果不指定远端分支名称和分支名,则抓取和本地关联的所有文件并更新当前的分支
    • 拉取
      • 命令git pull 远程分支名 本地分支名
      • 作用:将远程仓库对应分支的更新都抓取到本地,会自动进行合并操作
      • 说明:同抓取,如果不指定远端分支名称和分支名,则抓取和本地关联的所有文件并更新当前的分支
  9. 把远程分支的修改合并至本地分支

    • 命令git merge 要合并的远程分支名

    • 作用:将一个分支的修改整合到当前分支

    • 远程解决冲突

      • 在一段时间内,A、B用户修改了同一个文件,且修改了同一行代码,此时会发生合并冲突。A用户在本地修改代码后优先推送到远程仓库,此时B用户在本地修订代码,提交到本地仓库后,也需要推送到远程仓库,此时B用户晚于A用户,故需要先拉取远程仓库的提交,结果合并后才能推送到远程分支(一般工作流中都是先pull然后再push;成员先push,然后队长进行pull操作并解决冲突)

      image-20250129171102524

10.在编译器中设置并使用Git

  • 在下面我们将使用IDEAVisual Studio,和VsCode这3类编译器进行Git配置

1-IDEA

  • 使用版本JetBrains Rider 2025.1

创建Gitee远程仓库

  • 下面我将使用Gitee来创建一个测试仓库

image-20250429191806259

1.在IDEA中设置Git

  • 安装好Intellij IDEA后,需要查看Git的路径是否正确 -》选择File->Settings【版本控制打开设置窗口,找到Version Control下的Git选项,若发现路径错误,那么需要自己选择路径

image-20250429190208825

2.在IDEA中操作Git

  • 场景:本地已经有了一个项目,但并不是git项目,我们需要将项目托管到远程仓库中,和其他开发人员一起开发协作

初始化本地仓库

  • 选择主菜单中的VSC【未创建.git文件时选项为VSC创建.git文件后选项就会变成Git选项,然后点击Create Git Repository【创建Git仓库】选项,然后选择Git创建的路径,路径默认为当前项目文件,一般直接确定即可

image-20250429192837804

设置远程仓库

  • 选择主菜单中的Git,然后选择Remote...【管路远程...】

image-20250429195053012

  • 点击"+"号添加新的远程仓库,输入远程仓库的名称URL

image-20250429195456289

将修改提交到本地仓库

  • 说明⚠️:在idea中创建文件的时候,它会询问你是否要将文件添加到git中,修改文件的时候,idea会自动帮我们去add,我们只需要commit就好了

  • 文件的颜色说明:

    • 绿色的文件代表已添加到git中

    • 爆红的文件没有被添加到git当中,被Git识别为冲突文件

    • 灰色的文件代表已忽略的文件,可以在gitignore文件中配置

  • 先点击侧边栏中的提交(Alt + 0)选项,选中需要提交的文件,输入提交日志,然后点击提交

image-20250429200416597

推送到远程仓库

image-20250429202635430

  • 注意:在将本地仓库修改推送到git仓库的时候,需要- 先进行一次pull操作【若远程仓库里没有东西,就不需要进行pull操作】,先获取此时远程仓库的版本信息,再以此版本的信息为基础进行修改

克隆远程仓库到本地

  • 点击Git/VSC,选择Clone Repository【克隆...】选项

image-20250429203046379
image-20250429203336865

快捷创建新分支

  • 点击侧边栏的Git选项,然后右键点击要创建新分支的位置,点击New Branch...【新建分支...】,然后输入分支名即可

image-20250429203924536

切换分支及其他分支的相关操作

  • 点击左上角分支选项,可以进行一下操作:包括Checkout【签出】merge【合并】rename【重命名】delete【删除】操作(下图中标签图案所在分支表示的是当前分支

image-20250129230252677

解决冲突

  • 当两个人同时对同一个文件的同一行进行操作时,我们Pull并且合并,这时可能会出现冲突;可以进入合并界面进行操作

image-20250129224046007

image-20250129224120546

  • 图中的符号》和《代表的意思是保留X的意思是删除

还原未提交的修改

  • 点击主菜单中的Git选项,再点击未提交的更改,点击revert【回滚】,可以将未提交到本地仓库的修改还原,当然,也可以右击某个文件,然后进行相同的操作以将该文件还原

image-20250430152445621

还原提交

  • 如果我们想要取消某一次的提交,那么就需要还原提交,同样是点击侧边栏的Git选项,右键一个非当前分支,然后选择还原分支选项即可安全地撤销某个提交的更改,同时保留项目历史记录,适合于在主分支中使用

image-20250508113511190

重置分支

  • 依照上图,我们可以选择将当前分支重置到此处...选项以将当前分支强制设置成目标节点状态,期间本地修改会被强制删除(当然了,--mixed会保存本地修改,--hard不会保存本地修改),而且不会产生提交记录,难以恢复,适合于子分支,不适合于主分支

操作视窗

image-20250430151442834

2-Visual Studio

创建GitHub远程仓库

  • 使用版本Visual Studio 2022

  • 在此之前我们先创建一个GitHub仓库以方便我们在VS和VsCode中的操作

    1. 进入GitHubDashBoard,点击New按键

    image-20250430160300531

    1. 设置创建远程仓库

    image-20250430160910476

1.在VS中配置Git

  • 点击上方菜单栏中的Git选项

image-20250430154251519

  • 然后点击创建Git仓库以进入创建仓库窗口,这里我选择现有远程的方式来创建并初始化仓库,用于链接我们刚刚在github中创建的仓库,Vs会自动帮助我们连接远程仓库

image-20250430161411801

2.在VS中操作Git

  • 点击菜单栏中的Git栏能够完成绝大多数的Git操作

image-20250507172655060

将修改提交到本地仓库,然后推送至远程仓库

  1. 点击Git栏中的提交或储存选项,然后输入相应的提交信息然后提交即可

image-20250507173036036

  1. 然后再点击Git栏中的推送选项即可直接推送至远程仓库
  • 当然,你也可以点击提交的下拉菜单,然后选择提交并推送来实现和之前IDEA中类似的操作

image-20250507173046751

克隆远程仓库到本地

  • 和IDEA一样,VS也支持快捷的克隆操作,点击Git的克隆仓库选项即可进入克隆菜单,之后选择远程仓库的URL创建本地仓库的路径即可进行克隆操作

image-20250507173752344

创建新分支

  • VS中创建分支也相当简单,点击Git栏中的管理分支选项,进入Git 仓库页面,点击进入本地仓库的一个分支,然后打开它的本地历史记录,右键其中一个节点作为最新节点(下图中描述错误)以创建并签入一个新分支

image-20250507175609257

切换分支

  • 还是再Git仓库页面中,右键一个非当前分支,选则签出选项即可切换分支

image-20250507180346416

合并分支

  • 在Git仓库界面中,点击一个非当前分支,然后选择将"该分支"合并到"当前分支"选项,以将该分支中的修改合并到当前分支

image-20250507181406326

解决冲突

  • 和之前一样,修改了同一个文件的同一行就会产生冲突,这时候就需要手动解决冲突

image-20250507181733633

  • 点击合并,然后双击并加入需要解决冲突的文件中,我们手动进行信息的保留与丢弃,在修改完成后点击上方的接受合并选项即可完成冲突合并的操作

image-20250507182232495

image-20250507183000455

  • 确认合并冲突后,输入提交信息,然后提交并推送至远程仓库即可

还原与重置

  • VS也能十分方便的实现还原和重置操作,只要右键一个分支,然后选择对应的选项即可

image-20250508114901267

3-VsCode

1.在VsCode中配置git

  • 点击侧边栏的源代码管理按钮,然后点击初始化仓库即可快速的进行git的初始化

image-20250508115122290

设置远程仓库

  1. 第一次使用vscode进行添加远程仓库操作时先要点击源代码管理怕旁边的三个点并将存储库选项勾选

image-20250508120634635

  1. 打开储存库,选择远程,点击添加远程仓库,然后直接选择从GitHub中添加远程存储库,选择创建好的GitHub远程仓库和本地仓库连接

image-20250508120928725
image-20250508121638205

将修改提交到本地仓库,然后推送至远程仓库

  1. 点击更改旁的加号以将所有更改添加到暂存区,当然也可以点击更改下拉菜单中文件旁的加号以将目标文件添加到暂存区

image-20250508122018379

  1. 输入提交文本日志然后点击提交以提交更改

重置远程仓库

  • 由于我们使用了同一个仓库,所以我们先把之前使用的远程仓库重置
  1. 先将之前创建的分支删除:点击分支,然后选择删除远程分支,将除了你的远程默认分支外的其他分支都删除了

image-20250508133450617

  1. 连接本地分支与远程默认分支:按Ctrl + ~打开VsCode的终端,然后输入指令git branch --set-upstream-to=origin/远程分支名 当前本地分支名来链接分支
  2. 强制推送覆盖远程分支⚠️:打开终端输入指令git push -f 远程仓库名 本地分支名:远程分支名来强制覆盖远程分支记录,这是一个风险操作,在实际开发中尽量不要使用

切换分支

  • 相比于VS和IDEA,VsCode中切换分支十分简单,只要在储存库中点击仓库中的分支图案,然后点击想要切换的分支即可切换分支

image-20250517145930853

还原与重置

  • 点击...,选择更改就选择取消暂存所有更改就可以还原暂存区的更改

image-20250517153917149

  • 在将更新提交到本地仓库后,点击...,选择提交,再点击撤销上次提交可以重置至上次的提交记录

image-20250517154427461

11、场景分析

  • 开发中有一下经典的场景

    1. 由组长,基于本项目创建本地仓库;创建远程仓库,推送项目到远程仓库。

      img

    2. 每一位成员从远程仓库克隆项目到idea中,这样每位同学在自己电脑上就有了一个工作副本,可以正式开始开发了。我们模拟两个组员A,B,克隆两个工作区

      img

    3. 组员A修改工作区,提交到本地仓库,再推送到远程仓库。组员B可以直接从远程仓库获取最新的代码

      img

    4. 组员A和组员B同时修改一个文件的同一行,提交到本地没有问题,但是推送到远程仓库时,后一个推送操作就会失败

      img

12.开发中应遵守的原则

  1. 切换分支前先提交本地的修改(一定要牢记)

  2. 代码及时提交,提交过了就不会丢

  3. 遇到任何问题都不要删除文件目录

13.开发中的模式

分支模型

  • 相当于老板或者组长给你发布任务

  • 组长将原始项目(项目框架)发到Git共享版本库中,组员就去Git上将代码更新到本地

  • 对于分支的使用,我们每天可以创建一个分支来存放今天工作的代码,然后完成工作后就把每天分支上的代码合并到master上,然后上传到共享版本库

此作者没有提供个人介绍
最后更新于 2025-11-23