【Git】版本控制工具——Git介绍及使用

目录

  • 版本控制
    • 版本控制系统的主要目标
    • 分类
    • 小结
  • 分布式版本控制系统——Git
    • Git特点
    • Git与SVN的区别
    • Git的工作机制
  • Git安装
  • Git 团队协作机制
    • 团队内协作
    • 跨团队协作
    • 远程仓库
      • 远程仓库的作用有以下几个方面
      • 远程仓库操作流程/团队协作流程
  • Git分支
    • 什么是分支
    • 分支的好处
  • Git的常用命令
  • Git如何解决版本冲突
  • IDEA使用Git(GitEE)

版本控制

  • 版本控制(Version Control)是一种管理文件和代码变更的系统。它能够追踪、记录和管理文件的修改历史,使开发人员能够在任何时间点回溯到特定的版本,并跟踪每个版本之间的差异。

版本控制系统的主要目标

  1. 记录文件的修改历史:版本控制系统可以追踪文件的每一次修改,并记录下修改的时间、作者和描述等信息。这样可以很方便地查看文件的历史变更,包括添加、删除和修改等操作。
  2. 回溯到特定版本:通过版本控制系统,开发人员可以在任何时间点回到特定的版本,以查看、比较或还原文件的状态。这对于修复bug、追溯问题或回退错误的修改非常有帮助。
  3. 并行开发与协同合作:版本控制系统允许多个开发人员同时修改同一个文件,而不会互相影响。开发人员可以基于同一个版本创建并行的分支,在分支上进行独立开发,并在需要时将修改合并到主分支中。
  4. 保护代码的完整性:版本控制系统通过对每个版本的文件进行存储和验证,可以保证代码的完整性和可靠性。即使出现文件损坏、删除或丢失等情况,也可以通过版本控制系统来恢复和还原文件。

分类

  • 常见的版本控制系统有 集中式版本控制系统(如SVN)分布式版本控制系统(如Git)
  • 它们都提供了类似的功能,但在分支管理、协同工作和性能等方面有所不同。
  • 选择适合自己的版本控制系统可以提高团队的生产效率,并确保代码的可维护性和可追溯性。

小结

  • 简单说就是用于管理多人协同开发项目的技术。
  • 没有进行版本控制或者版本控制本身缺乏正确的流程管理,在软件开发过程中将会引入很多问题,如软件代码的一致性、软件内容的冗余、软件过程的事物性、软件开发过程中的并发性、软件源代码的安全性,以及软件的整合等问题。
  • 因此多人开发就必须要使用版本控制

分布式版本控制系统——Git

  • Git是一种分布式版本控制系统,用于追踪和管理文件和代码的变更。它最初由Linux的创始人Linus Torvalds开发,旨在解决Linux内核开发过程中的问题。

Git特点

  1. 分布式:git的每个开发人员都拥有完整的代码仓库,包括完整的历史记录和分支信息。这使得团队成员可以在本地进行独立的开发,不需要依赖于服务器的可用性。
  2. 高效:Git使用快照(Snapshot)而不是差异(Delta)来存储文件变化。这种存储方式非常高效,能够快速进行提交、分支、合并和查找操作。
  3. 强大的分支管理:Git的分支管理非常灵活和强大。开发人员可以轻松地创建、合并和删除分支,以支持并行开发和不同功能的实验。
  4. 完整的历史记录:Git记录了每次提交的详细信息,包括提交时间、作者和描述等。这使得开发人员可以方便地回溯到特定的版本,并追溯代码的变化历史。
  5. 安全性和完整性:Git采用哈希校验和数据完整性校验技术,确保存储在Git仓库中的每个文件和提交都是完整和可信的。
  6. 与其他工具的集成:Git可以与其他常用的开发工具(如IDE、代码托管平台和持续集成工具)进行集成,方便开发人员与团队合作和管理代码。

总的来说,Git是一种强大、高效和灵活的版本控制系统,被广泛应用于软件开发领域。无论是个人项目还是大型团队,使用Git可以提供更好的代码管理和协同工作体验。

Git与SVN的区别

SVN(Subversion)和Git都是版本控制系统,但它们在工作方式和特点上有一些显著的区别。

  1. 集中式 vs. 分布式:SVN是一个集中式版本控制系统,而Git是一个分布式版本控制系统。在SVN中,版本库存储在中央服务器上,开发者需要通过网络连接进行操作。而在Git中,每个开发者都有自己的本地版本库,可以在本地进行提交、分支管理等操作,不需要始终连接到中央服务器。

  2. 历史记录:SVN保存的是文件的差异变化,而Git保存的是文件的快照。这意味着在Git中,每次提交都是保存完整的文件快照,而SVN只保存了相对于前一个版本的差异。

  3. 分支管理:Git在分支管理方面更加灵活和强大。在Git中,创建和合并分支非常容易,开发者可以很方便地在本地创建、切换和合并分支,而且分支的创建和合并操作非常快速。而在SVN中,分支管理相对较为复杂,需要通过拷贝项目的目录来创建分支。

  4. 性能:由于Git是分布式的,大部分操作都在本地进行,因此在大型项目、多人协作和网络较差的情况下,Git通常比SVN更快速和高效。

  5. 历史记录的可见性:在SVN中,每个人都可以看到整个仓库的历史记录。而在Git中,每个开发者只能看到自己本地仓库的历史记录,这增强了代码的隔离性和安全性。

总的来说,Git在分支管理、性能和离线工作方面有优势,适合大型项目和分布式团队协作。而SVN更适合小型项目和集中式开发环境。选择使用哪种版本控制系统应根据具体的项目需求和团队情况来决定。

Git的工作机制

下面是一幅图解释Git的工作机制:

                    +-------------------+|    Working Tree   |+-------------------+|| git addV+-------------------+|    Staging Area   |+-------------------+|| git commitV+-------------------+|    Repository     |+-------------------+
  1. Working Tree(工作树):工作树是我们进行实际代码编辑和修改的地方。它包含了我们项目的实际文件。

  2. Staging Area(暂存区):在我们对工作树做出修改后,我们需要将这些修改添加到暂存区。暂存区类似于一个缓冲区,可以用来存放需要提交到版本库的文件。

  3. Repository(版本库):版本库是Git的核心部分,它存储了项目的所有历史记录。每次我们执行git commit命令时,暂存区的文件将会被永久保存到版本库中。

这个工作流程可以用以下步骤来概括:

  1. 在工作树(Working Tree)中进行文件的编辑和修改。
  2. 使用git add命令将修改后的文件添加到暂存区(Staging Area)。
  3. 使用git commit命令将暂存区的文件提交到版本库(Repository)。

在这里插入图片描述

这个工作机制的优势在于,我们可以根据需要选择性地将文件添加到暂存区,并随时撤销或修改这些变更。同时,Git还支持分支管理和合并,使得团队协作更加便捷。

Git安装

很抱歉,作为纯文本模型,我无法提供图文结合的教程。但是您可以按照以下步骤在Windows系统上安装Git:

  1. 访问Git官方网站(https://git-scm.com),在主页上找到并点击 “Download” 按钮。
    在这里插入图片描述

  2. 下载Git安装程序。根据您的操作系统选择适用的安装程序(32位或64位)。如果您不确定自己的系统位数,可以在Windows的 “控制面板” 中查看 “系统和安全” -> “系统”。
    在这里插入图片描述

  3. 双击下载的Git安装程序以启动安装向导。
    在这里插入图片描述

  4. 选择Use Git from Bash only即可
    在这里插入图片描述

  5. 后面的就是下一步下一步就行了

  6. 安装好后,右键桌面,会出现以下两个选项
    在这里插入图片描述

Git 团队协作机制

团队内协作

在这里插入图片描述

跨团队协作

在这里插入图片描述

远程仓库

Git的远程仓库是指存储在远程服务器上的Git仓库副本。它可以是在云端的代码托管服务(如GitLab、GitHub、Bitbucket)或者自建的Git服务器。

远程仓库的作用有以下几个方面

  1. 代码备份和共享:
    远程仓库是将本地代码备份到云端或者其他服务器上的重要手段。它可以确保即使本地机器出现故障或丢失,代码仍然可以恢复。同时,远程仓库也方便了团队成员之间的代码共享和协作。

  2. 分布式协作:
    Git的远程仓库使得多个团队成员可以在不同的地方同时访问和修改同一份代码。每个成员可以将自己的修改推送到远程仓库,并从仓库中拉取其他成员的修改。这样,团队成员可以通过远程仓库实现分布式协作开发,而无需直接和其他成员进行交互。

  3. 版本控制和版本管理:
    远程仓库是作为代码版本的存储和管理中心。它可以追踪和保存代码的历史记录,包括所有提交、分支和标签等。通过远程仓库,团队成员可以随时查看和恢复之前的代码状态,管理分支和合并请求,确保代码的稳定性和可追溯性。

  4. 自动化部署和持续集成:
    远程仓库与持续集成工具(如Jenkins、Travis CI)集成,可以实现自动化的代码构建、测试和部署。通过在远程仓库中配置相关的触发器,当代码发生变化时,持续集成工具会自动执行相应的动作,提高开发效率和代码质量。

总之,Git的远程仓库在团队协作和版本控制中扮演着重要的角色,它提供了代码备份、共享、分布式协作、版本管理和自动化部署等功能,促进了团队成员之间的合作和协作。

远程仓库操作流程/团队协作流程

  1. 创建远程仓库:
    团队协作的第一步是创建一个共享的远程仓库,可以使用 GitLab、GitHub、Bitbucket、GitEE 等服务提供商以及自建 Git 服务器。

  2. 克隆远程仓库:
    所有团队成员将远程仓库克隆到本地机器上,使用以下命令:git clone <remote-url>

  3. 创建分支:
    每个团队成员在本地创建自己的分支进行开发,使用以下命令: git checkout -b <branch-name>

  4. 进行开发:
    在本地分支上进行代码的修改、添加和删除。可以使用以下命令来管理本地代码:

    • git add <file>:将文件添加到暂存区
    • git commit -m "commit message":将暂存区的改动提交到当前分支
    • git push -u origin <branch-name>:将本地分支推送到远程仓库
  5. 分支合并:
    当一个开发任务完成后,团队成员可以将自己的分支合并到主分支(master)或其他需要合并的分支。通常使用以下命令:

    • git checkout master
    • git pull origin master
    • git merge <branch-name>
    • git push origin master
  6. 解决冲突:
    当多个开发者的分支存在冲突时,需要解决冲突后再进行合并。详细的冲突解决步骤在前面的回答中有提到。

  7. 代码审查:
    团队成员可以通过代码审查工具(如GitLab、GitHub的Pull Request功能)来进行代码的审查和讨论。这样可以确保代码质量和团队共识。

  8. 持续集成和部署:
    Git 可以与持续集成工具(如Jenkins、Travis CI)集成,自动构建和部署代码。这样可以减少手动步骤和减轻团队成员的工作量。

  9. 分支管理:
    团队可以根据需要创建多个分支来管理不同的开发任务或特性。可以使用以下命令来管理分支:

    • git branch <branch-name>:创建分支
    • git checkout <branch-name>:切换到指定分支
    • git branch -d <branch-name>:删除分支

以上是 Git 团队协作的基本步骤和常用命令,通过合理的团队协作机制,团队成员可以高效地进行协作开发,并保证代码的安全和稳定。

Git分支

在这里插入图片描述

什么是分支

  • 在版本控制过程中, 同时推进多个任务,为每个任务,我们就可以创建每个任务的单独分支。
  • 使用分支意味着程序员可以把自己的工作从开发主线上分离开来, 开发自己分支的时 候, 不会影响主线分支的运行。
  • 对于初学者而言, 分支可以简单理解为副本, 一个分支就是 一个单独的副本。(分支底层其实也是指针的引用)

分支的好处

  • 同时并行推进多个功能开发,提高开发效率。
  • 各个分支在开发过程中, 如果某一个分支开发失败, 不会对其他分支有任何影响。失败 的分支删除重新开始即可。

Git的常用命令

Git是一个功能强大的版本控制工具,具有许多常用的命令。以下是一些常用的Git命令:

  1. 初始化仓库:

    • git init:在当前目录创建一个新的Git仓库。
  2. 添加和提交文件:

    • git add <file>:将文件添加到暂存区。
    • git commit -m "message":提交暂存区的文件并添加说明信息。
  3. 分支操作:

    • git branch:列出所有本地分支。
    • git branch <branch-name>:创建一个新的分支。
    • git checkout <branch-name>:切换到指定分支。
    • git merge <branch-name>:合并指定分支到当前分支。
  4. 远程仓库:

    • git remote add <remote-name> <remote-url>:添加一个远程仓库。
    • git clone <remote-url>:克隆远程仓库到本地。
  5. 查看和提交修改:

    • git status:查看当前仓库的文件状态。
    • git diff:查看文件的具体修改内容。
    • git commit -a:提交所有已经跟踪过的修改。
  6. 撤销和回退:

    • git reset <file>:取消暂存区的文件修改。
    • git checkout -- <file>:撤销对文件的修改。
    • git revert <commit>:回退到指定的提交。
  7. 查看历史记录:

    • git log:查看提交历史记录。
    • git log --graph:以图形化形式展示提交历史。
  8. 远程操作:

    • git push <remote> <branch>:将本地分支推送到远程仓库。
    • git pull <remote> <branch>:从远程仓库拉取最新代码并合并到当前分支。
  9. 设置用户签名:

  • git config --global user.name xxx:设置用户签名
  • git config --global user.email xxx:设置用户签名
  1. 版本穿梭
  • git reset --hard 版本号(查看历史记录时候给的版本号)

以上只是一些常用的Git命令,Git的功能非常丰富,还有更多命令可以用于特定的应用场景。您可以通过在命令行中输入 git --help来查看完整的Git命令列表以及它们的详细用法和说明。

Git如何解决版本冲突

在多人协作的项目中,可能会出现不同人对同一文件进行了不同的修改,导致版本冲突。Git提供了一些方法来解决版本冲突:

  1. 查看冲突:
    当发生版本冲突时,可以使用以下命令查看冲突的文件:git status

  2. 解决冲突:
    找到冲突的文件后,可以使用文本编辑器打开文件,解决冲突的部分会被标记出来。根据需要进行修改、删除或合并,解决冲突。

  3. 添加解决后的文件:
    在解决完冲突后,需要将修改后的文件添加到暂存区:git add <resolved-file>

  4. 提交修改:
    解决冲突后,将修改提交到版本库:git commit -m "Resolve conflict"

  5. 合并分支:
    如果冲突发生在分支合并时,可以使用以下命令进行分支合并:git merge <branch-name>

  6. 使用工具:
    Git也提供了一些可视化工具来解决版本冲突,如Git GUI和GitKraken等工具可以更直观地进行冲突解决。

解决版本冲突需要谨慎地进行合并和修改,确保最终的代码能够保持正确和完整。在解决冲突之前,可以使用 git diff 命令查看冲突的具体修改。另外,在多人协作中,良好的沟通和协调也是解决版本冲突的关键。

IDEA使用Git(GitEE)

在使用Gitee与IDEA进行开发的完整流程可以按照以下步骤进行:

  1. 注册Gitee账号:

    • 首先,在Gitee官网上注册一个账号(如果还没有注册过)。
  2. 创建Gitee远程仓库:

    • 登录Gitee账号后,创建一个新的远程仓库,用于存储项目代码。
    • 可以选择公开或私有仓库,并设置相应的仓库名称、描述等信息。
  3. 在IDEA中配置Git插件:

    • 在IDEA中安装Git插件(如果还没有安装),然后在设置中配置Git的用户名和邮箱地址,这些信息将用于代码提交时的身份验证。
      在这里插入图片描述

    在这里插入图片描述

  4. 克隆远程仓库到本地:

    • 新建工程,然后选择下面这这个project from Version Control
    • 选择Git并输入Gitee远程仓库的URL,然后克隆仓库到本地。
      在这里插入图片描述
  5. 在IDEA中进行开发:

    • 在本地克隆的工作目录中,使用IDEA进行代码开发。
    • 这包括编写、修改、调试和测试代码等操作。
  6. 提交代码到本地仓库:

    • 在IDEA的Git工具栏中,选择要提交的文件或目录,然后点击“Commit”按钮。
    • 在弹出的Commit窗口中,输入提交信息描述本次提交的内容,并点击“Commit”按钮提交代码到本地仓库。
  7. 推送代码到Gitee远程仓库:

    • 在IDEA的Git工具栏中,点击“Push”按钮,将本地仓库的代码推送到Gitee远程仓库。
    • 确认推送的分支和远程URL,并点击“Push”按钮完成推送。
      在这里插入图片描述
      这三个图标分别是update、commit、push
  8. 协作开发与合并:

    • 如果是多人协作开发的情况下,其他成员可以克隆远程仓库到本地,在本地进行开发并提交到本地仓库,然后推送到远程仓库。
    • 当有分支上的代码需要合并时,可以使用Pull Request功能在Gitee上创建合并请求,其他成员可以进行审核并合并代码。

以上是使用Gitee进行开发的基本流程,在实际开发中会根据具体项目的需求进行调整和扩展。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/840606.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【热门话题】CentOS 常见命令指南

&#x1f308;个人主页: 鑫宝Code &#x1f525;热门专栏: 闲话杂谈&#xff5c; 炫酷HTML | JavaScript基础 ​&#x1f4ab;个人格言: "如无必要&#xff0c;勿增实体" 文章目录 CentOS 常见命令指南一、文件与目录操作1. 切换目录2. 查看当前目录3. 列出目录…

SVM影像组学特征

近期做一个影像组学的分类模型 做的是一个胃癌T分期的模型&#xff0c;我刷选统计出一些胃癌区域的特征&#xff0c;如图&#xff1a;有癌症面积、体积等等 下面要做一个SVM&#xff08;支持向量机&#xff09;分类的模型&#xff0c;导入该文件&#xff0c;进行二分类&#x…

MFC密码对话框之间数据传送实例(源码下载)

新建一个login工程项目对话框&#xff0c;主对话框IDD_LOGIN_DIALOG中一个显示按钮IDC_BUTTON1、一个密码按钮IDC_BUTTON2。添加一个密码对话框IDD_DIALOG1&#xff0c;添加类password&#xff0c;在对话框中添加一个编辑框IDC_EDIT1、一个确定按钮IDC_BUTTON1。 程序功能&…

百度集团:AI重构,走到哪了?

内有自家公关一号“自曝”狼性文化&#xff0c;主动制造舆论危机。 外有&#xff0c;OpenAI、谷歌、字节、华为等大模型劲敌扎堆迭代新产品&#xff0c; 强敌环伺。 今天我们要说的是早就从BAT掉队的——百度。 最近&#xff0c;在武汉Aapollo Day 2024上&#xff0c;百度发布了…

抖音小店新规重磅来袭!事关店铺流量!商家的福音来了?

大家好&#xff0c;我是喷火龙。 就在前两天&#xff0c;抖店发布了新规&#xff0c;我给大家总结了一下&#xff0c;无非就是两点。 第一点&#xff1a;保证金下调&#xff0c;一证开多店。 第二点&#xff1a;新品上架破10单&#xff0c;有流量扶持。 咱来细细的解读&…

零基础HTML教程(34)--HTML综合实例

文章目录 1. 背景2. 开发流程2.1 网站功能设计2.2 建立网站目录结构2.3 开发首页2.2 生平简介页2.3 经典诗词页2.4 苏轼图集页2.5 留言板 3. 小结 1. 背景 通过前面33篇文章的学习&#xff0c;我们对HTML有了一个比较全面的了解。 本篇&#xff0c;我们编写一个网站实例&…

Unity在Windows平台播放HEVC/H.265格式视频的底层原理

相关术语、概念 HEVC/H.265 HEVC&#xff08;High Efficiency Video Coding&#xff09;是一种视频压缩标准&#xff0c;也被称为H.265。它是一种高效的视频编码标准&#xff0c;可以提供比之前的标准&#xff08;如H.264&#xff09;更高的压缩率&#xff0c;同时保持较高的…

ssm141餐厅点菜管理系统+vue

餐厅点菜管理系统的设计与实现 摘 要 网络技术和计算机技术发展至今&#xff0c;已经拥有了深厚的理论基础&#xff0c;并在现实中进行了充分运用&#xff0c;尤其是基于计算机运行的软件更是受到各界的关注。加上现在人们已经步入信息时代&#xff0c;所以对于信息的宣传和管…

大数据之Hive函数大全

&#x1f527; Hive函数大全 更多大数据学习资料请关注公众号“大数据领航员"免费领取 一、数学函数 1、取整函数: round 1.函数描述 返回值语法结构功能描述doubleround(double a)返回double类型的整数值部分&#xff08;遵循四舍五入&#xff09; 2.例程 hive>…

自定义RedisTemplate序列化器

大纲 RedisSerializerFastJsonRedisSerializer自定义二进制序列化器总结代码 在《RedisTemplate保存二进制数据的方法》一文中&#xff0c;我们将Java对象通过《使用java.io库序列化Java对象》中介绍的方法转换为二进制数组&#xff0c;然后保存到Redis中。实际可以通过定制Red…

智能化让幼儿园管理更加规范

在各个学龄阶段&#xff0c;幼儿园一向都是家长的教师最为操心的&#xff0c;一方面幼儿园孩子自主才能差&#xff0c;安全问题需求分外注重&#xff0c;另一方面&#xff0c;幼儿园孩子年纪小、缺少必定的认知才能和区分才能&#xff0c;需求加强引导。 那么怎么进步幼儿园孩子…

D60SB120-ASEMI整流桥D60SB120参数、封装、尺寸

编辑&#xff1a;ll D60SB120-ASEMI整流桥D60SB120参数、封装、尺寸 型号&#xff1a;D60SB120 品牌&#xff1a;ASEMI 封装&#xff1a;D-SB 批号&#xff1a;2024 最大重复峰值反向电压&#xff1a;1200V 最大正向平均整流电流(Vdss)&#xff1a;60A 功率(Pd)&#x…

力扣--哈希表13.罗马数字转整数

首先我们可以知道&#xff0c;一个整数&#xff0c;最多由2个罗马数字组成。 思路分析 这个方法能够正确将罗马数字转换为阿拉伯数字的原因在于它遵循了罗马数字的规则&#xff0c;并且对这些规则进行了正确的编码和处理。 罗马数字规则 罗马数字由以下字符组成&#xff1a…

运维笔记.MySQL.基于mysqldump数据备份与恢复

运维专题 MySQL.基于mysqldump数据备份与恢复 - 文章信息 - Author: 李俊才 (jcLee95) Visit me at CSDN: https://jclee95.blog.csdn.netMy WebSite:http://thispage.tech/Email: [email protected]. Shenzhen ChinaAddress of this article:https://blog.csdn.net/qq_2855…

多微信如何高效管理?一台电脑就能搞定!

对于有多个微信号的人来说&#xff0c;管理这些微信无疑是一道难题。 今天&#xff0c;就给大家分享一个能够让你高效管理多个微信号的神器——个微管理系统&#xff0c;下面&#xff0c;就一起来看看它都有哪些功能吧&#xff01; 1、多号同时登录在线 系统支持多个微信号同…

【综合类型第 39 篇】《我的创作纪念日》成为创作者的第2048天

这是【综合类型第 39 篇】&#xff0c;如果觉得有用的话&#xff0c;欢迎关注专栏。 前言 无意间看了一眼CSDN的私信&#xff0c;提示我 Allen Su &#xff0c;不知不觉今天已经是你成为创作者的 第2048天 啦&#xff0c;为了纪念这一天&#xff0c;我们为您准备了一份专属小…

2. PCI总线基本概念

PCI即Peripheral Componet Interconnect&#xff0c;中文意思是“外围器件互联”&#xff0c;是由PCISIG推出的一种局部并行总线标准。PCI总线是由ISA总线发展而来&#xff0c;是一种同步的独立于处理器的32位或64位局部总线。目前&#xff0c;PCI总线广泛应用于连接显卡&#…

操作抖音小店一直不出单怎么办?只需要做好这两点就可以了!

大家好&#xff0c;我是电商小V 最近很多新手小伙伴来咨询我说自己操作抖音小店&#xff0c;自己的店铺长时间不出单应该怎么办&#xff1f;今天咱们就来详细的说一下&#xff0c; 咱们要清楚的就是自己的店铺不出&#xff0c;只需要咱们做好这两点就可以了&#xff0c; 第一点…

特殊变量笔记2

案例需求 在demo4.sh中循环打印输出所有输入参数, 体验$*与$的区别 实现步骤 编辑demo4.sh脚本文件 # 增加命令: 实现直接输出所有输入后参数 # 增加命令: 使用循环打印输出所有输入参数演示 编辑demo4.sh文件 直接输出所有输入参数, 与循环方式输出所有输入参数(使用双引…

软件工程基础知识

一、软件工程概述 二、软件开发模型 三、软件开发方法 四、需求分析 五、系统设计 六、系统测试 七、软件开发项目管理 八、软件质量 九、软件度量