yhedon1stic

第十三周实验——源代码管理工具博客

一、源代码管理工具

源代码管理工具是一类可以存储代码,可以随时修改已存储的代码,可以实现多个程序员共同开发协作的工具。当多个开发人员对同一文件进行更改时,它允许开发人员团队跟踪更改、协作处理功能并解决冲突,从而帮助开发人员团队在代码库上协同工作。

源代码管理工具可以允许团队成员看见彼此的代码,这样使项目代码整体具有流畅性,节约时间,节省了将各个功能模块拼接起来的时间。便于沟通及时发现问题,在编码的过程中若发现自身对项目的理解与其他成员有偏差时,可以及时发现并尽早解决问题,降低了开发成本。

SCM 工具的示例包括 Git、Subversion (SVN)、Mercurial 和 Microsoft Team Foundation Server (TFS)。这些工具通常提供版本控制、分支和合并支持、问题跟踪以及与持续集成和部署 (CI/CD) 系统集成等功能。因此,使用 SCM 工具可以极大地提高软件开发过程的协作性、效率和可靠性,使其成为现代软件开发工作流的重要组成部分。

 

二、主流源代码管理工具介绍

01 GITHUB

GitHub是一个基于 Web 的版本控制和协作平台,可帮助开发人员在软件项目上协同工作。它建立在 Git 版本控制系统之上,该系统由 Linux 操作系统的创建者 Linus Torvalds 开发。GitHub 提供了广泛的功能,使开发人员可以轻松地管理和跟踪代码更改、与他人共享他们的工作以及在项目上协作。借助 GitHub,开发人员可以将他们的代码存储在中央存储库中,并使用 Git 强大的版本控制系统跟踪更改。GitHub 还提供用于问题跟踪、项目管理以及持续集成和交付的工具,使其成为软件开发团队的一站式商店。此外,该平台拥有庞大而活跃的开发人员社区,他们可以为网站上托管的开源项目做出贡献并使用这些项目,这使其成为查找和共享代码的绝佳资源。

优点:支持 Windows、Mac 和移动设备。支持云端部署。可以精细地管理多个项目和权限。

特征:GitHub 提供项目管理功能。开发人员将其用于个人项目或使用新的编程语言进行实验。对于企业,它提供了 SAML 单点登录、访问配置和 99.95% 正常运行时间的功能。发票计费、高级审计、统一搜索、投稿等。GitHub 提供安全事件响应、双因素身份验证等安全功能。

 

02 Bitbucket

Bitbucket是 Atlassian 拥有的基于 Web 的版本控制存储库托管服务。Bitbucket 支持 Git 和 Mercurial 等流行的版本控制系统,并与 Jira、Trello 和 Slack 等多种工具集成,以增强协作和项目管理。Bitbucket 允许无缝代码协作和审查,使其成为软件开发团队的宝贵工具。该平台提供拉取请求、代码审查和分支权限等功能,使开发人员能够以简化和受控的方式就代码更改进行协作。Bitbucket 还提供详细的报告和分析,以帮助团队跟踪项目进度、代码质量和团队绩效。 

优点:支持自动化部署和测试。支持 Git 和 Mercurial 版本控制系统。通过拉取请求和代码审查进行无缝代码协作和审查。

特征:用于版本控制、项目管理和协作的一站式解决方案。基于团队的工作空间。通过拉取请求和代码审查进行代码协作和审查。有强大的安全功能,包括两步验证和 IP 白名单。支持大文件存储和管理。可定制的工作流程和权限。

 

03 Azure Team Foundation Server 

该开源工具提供版本控制和项目管理支持。自 2005 年开始使用以来,TFS 是可用的较旧工具之一。经过多年的发展并结合了敏捷项目管理,TFS 的本地软件现在是基于云的。除了源版本控制之外,它还提供一系列项目管理功能。例如,它允许项目经理分配角色并按功能区分工作项。它还使用项目历史来开发实时数据智能,这有助于自动化工作流程并简化开发过程。

优点:为软件开发团队提供端到端的解决方案。可扩展为各种规模的团队。与广泛的工具和服务集成。作为自托管解决方案或基于云的服务提供。

特征:使用 Git 或 Team Foundation 版本控制 (TFVC) 进行版本控制。敏捷规划工具,包括待办事项列表、看板、冲刺和自定义工作项类型。持续集成和持续部署 (CI/CD) 管道。测试计划和管理,包括探索性测试和持续性测试。与 Azure Boards 和 Azure Repos 等 Azure 服务集成,实现无缝协作。可自定义的仪表板和小部件,用于跟踪进度和项目运行状况。

 

04 Apache Subversion

Apache Subversion是一种流行的开源版本控制系统,旨在帮助软件开发团队管理和跟踪代码更改。Subversion 允许用户维护同一文件的不同版本,并保留随时间变化的历史记录。这有助于确保开发人员可以在必要时恢复到文件的早期版本。它还允许团队成员之间的协作,使他们能够查看和跟踪彼此的更改。Subversion 被设计为可扩展、高效且易于使用。它支持广泛的平台,可以与大多数编程语言和开发工具一起使用。此外,Subversion 还集成了其他开发工具,例如问题跟踪器和构建系统,以提供完整的开发环境。它还提供强大的安全功能,包括访问控制,并且可以在各种操作系统上运行,包括 Windows、Linux 和 macOS。

优点:开源且免费使用。可扩展且高效,它可以处理大型代码库和许多用户。易于使用并与其他开发工具集成。支持广泛的平台和编程语言。用于访问控制的强大安全功能。维护更改历史记录,允许轻松恢复到以前的版本和团队成员之间的协作。

特征:软件开发的版本控制,可以跟踪文件随时间的变化,能恢复到文件的先前版本。支持团队成员之间的协作。与其他开发工具集成,还能够访问控制和安全功能。

 

三、结合小组项目使用源代码管理工具

01 GitHub的作用

GitHub能托管代码、历史版本管理、以及搜索开源项目,在社区中分享、得到反馈。

02 GitHub和Git的关系

Git只是一个命令行工具,一个分布式版本控制系统。正是它在背后管理和跟踪你的代码历史版本,好比一个时光机,让你在代码出错时不至于手忙脚乱,能快速回退之前的历史版本。 GitHub是一个代码托管网站,背后使用Git作为版本管理工具(而非svn)。主要服务是将你的项目代码托管到云服务器上,而非存储在自己本地硬盘上。

03 GitHub

首先注册一个GitHub的帐号。
假设我们要在 github 上维护一个项目。首先,要登录 github 账号,点击 “New repository”,输入项目名称,即可成功创建项目仓库,之后会提示如下内容:
echo "# 初始化仓库" >> README.md
git init
git add README.md
git commit -m "first commit"

做上面这些操作之前,我们需要在机器上创建一个空白目录,然后进入这个目录进行操作。

第一行,是说新建一个 README.md 文件,并且写上你自定义的内容;

第二行,通过 git init 命令做本地仓库的初始化;

第三行,将 README.md 添加到暂存区;

第四行,提交暂存区并写好注释说明。

本地创建完仓库后,需要把本地仓库和远程仓库建立联系,这样之后才能推送文件到远程仓库。

git remote add origin https://username:password@github.com/huzhicheng/test__11.git

如果要远程仓库进行同步,首先需要 clone 远程仓库到本地,然后拉取新代码就可以。

git clone https://username:password@github.com/username/xxxxxx.git

git remote -v    可以查看远程仓库版本

git fetch origin master 拉取远程仓库更新

以下提供一些使用方式参考链接:
https://www.cnblogs.com/fengzheng/p/8532724.html
https://www.cnblogs.com/baiboy/p/github.html
https://www.cnblogs.com/zhangchenliang/p/3950778.html
https://www.cnblogs.com/yc-755909659/p/3753355.html
 

四、总结

充分利用好源代码管理工具对今后的团队协作项目开发有很大的帮助,它可以有效的防止代码丢失,便于团队交流,便于程序员们互相交流与分享代码,对我们软件开发小组项目的编写——我们可以通过功能模块化分工,高效合作,团队间互相纠错,将最终的功能得以实现。

posted on 2023-05-24 21:19  yanOuo  阅读(14)  评论(0编辑  收藏  举报

导航