电子商务网站案例分析,网站开发方面知识,中山网站建设推广,北京正规网站建设公司一、导言
1、什么是svn#xff1f; SVN是Subversion的简称#xff0c;是一个集中式版本控制系统。与Git不同#xff0c;SVN没有分布式的特性。在SVN中#xff0c;项目的代码仓库位于服务器上#xff0c;团队成员通过向服务器提交和获取代码来实现版本控制。SVN记录了每个…一、导言
1、什么是svn SVN是Subversion的简称是一个集中式版本控制系统。与Git不同SVN没有分布式的特性。在SVN中项目的代码仓库位于服务器上团队成员通过向服务器提交和获取代码来实现版本控制。SVN记录了每个文件的修改历史包括作者、时间和具体更改内容等信息。 使用SVN时团队成员需要从中央代码仓库中检出项目的最新代码并在本地进行开发和修改。一旦完成工作他们将代码推送回中央代码仓库以共享变更。SVN提供了一系列命令和功能如更新代码、提交代码、查看历史记录、比较文件差异等以便团队成员协同工作和管理代码版本。然而由于SVN是集中式的当网络连接中断或者服务器出现故障时团队成员可能无法提交或获取最新代码。 1.1、svn的利 简单易用相对于Git而言SVN的命令和操作相对简单学习曲线较为平缓。对于一些非技术背景或刚接触版本控制的开发者来说使用SVN更容易上手。 集中化管理SVN采用集中式的工作方式所有代码都保存在服务器端可以集中管理和控制代码的访问权限方便团队协作、控制代码质量和安全性。 安全性由于所有代码保存在服务器上避免了本地代码丢失的风险并且管理员可以管理和监控每个用户的操作保证了代码的安全性。 1.2、svn的弊 需要网络连接由于SVN是集中式的需要与中央代码仓库进行交互因此必须有稳定的网络连接。如果网络中断或服务器故障将无法提交或获取最新代码从而影响开发流程。 不支持离线工作SVN需要与远程服务器交互开发者无法在离线情况下进行代码修改和提交限制了在没有网络连接的环境下的自由开发能力。 分支管理复杂相比于GitSVN的分支管理相对较为复杂。分支的创建、合并和删除需要手动操作并且可能会面临一些冲突解决的挑战。 存储效率低由于SVN采用基于差异的版本控制方式每次提交只保存进行的更改存储效率相对较低。尤其是在大规模项目中占用的存储空间较大。 2、什么是Git Git是一个分布式版本控制系统用于管理和跟踪软件开发项目的源代码。它能够记录整个项目的历史更改包括每个文件的修改、添加和删除以及每次提交的作者和时间等信息。通过使用Git团队成员可以协同工作并共享代码并且能够轻松地撤销或回滚更改解决合并冲突以及自动识别和处理代码更新。Git也提供了分支功能使得开发者能够在独立的分支上开展工作最后再将分支合并到主线上。这使得多人同时开发同一项目变得更加容易和安全。 2.1、Git的利 分布式版本控制Git是一个分布式版本控制系统每个开发者都可以拥有完整的代码库复本并且可以离线工作。这使得团队成员可以独立进行开发和提交变更而不会受到网络连接或服务器故障的影响。 强大的分支管理Git的分支管理功能非常强大和灵活。开发者可以轻松地创建、合并和删除分支实现独立开发和并行工作。这对于团队协作和多个功能或修复并行进行时非常有益。 快速操作和高性能由于Git本地存储了完整的代码副本可以在本地进行快速的代码查看、提交和切换。相比于集中式的版本控制系统Git的操作通常更快速尤其在大型项目中表现更优秀。 丰富的工具生态系统和社区支持Git拥有庞大的用户群体和活跃的开源社区提供了丰富的工具和扩展。还有许多第三方工具和服务如GitHub提供了代码托管、协作和Code Review等功能。 2.2、Git的弊 学习曲线较陡相对于SVN等集中式版本控制系统Git的学习曲线较为陡峭。它有许多高级功能和命令对于初学者来说可能需要一定的时间和精力来熟悉和掌握。 存储占用较大由于Git存储了完整的代码副本每次提交都会增加存储空间的消耗。尤其是在项目历史变得庞大时会产生更多的磁盘空间需求。 强大的功能和灵活性带来复杂性Git的强大功能和灵活性可以使其变得复杂和难以理解。例如分支合并和解决冲突可能需要一些技巧和经验来处理。 3、区别 Git相对于SVN在分布式特性、分支管理和强大的版本控制能力上有优势。但SVN由于简单易用和集中式的特点在某些场景下仍然被广泛使用。选择使用哪种版本控制系统取决于项目的需求、团队的工作流程和开发者的偏好。它们的设计思想和工作方式上存在一些显著区别。 分布式 vs 集中式最明显的区别是Git是一个分布式版本控制系统而SVN是一个集中式版本控制系统。在Git中每个开发者都拥有完整的代码仓库副本可以离线工作并提交变更。而SVN中的代码仓库位于服务器上开发者通过向服务器提交和获取代码来进行工作。 版本管理方式Git以增量快照方式保存代码的不同版本每次提交都会创建一个新的快照并记录父快照的引用关系从而构建出一棵提交历史的有向无环图。SVN则采用基于差异的方式只存储每次提交的差异相较于GitSVN对存储空间的占用更为高效。 分支管理Git的分支管理非常灵活和强大可以轻松创建、合并和删除分支并且支持同时存在多个独立开发的分支。而SVN的分支管理相对简单通常需要手动创建分支并且在合并分支时较为复杂。 性能由于Git拥有完整的代码仓库副本在大型项目中可以提供更快的操作速度。SVN的性能在大规模项目上可能受到网络连接和服务器性能的限制。 这里是我所理解的一个区别 去中心化 GIT是分布式的SVN不是这是GIT和其它非分布式的版本控制系统例如SVNCVS等最核心的区别。 git仓库的任何一个拷贝都可以独立作为一个服务器来使用 在Git中文件有四种状态 未跟踪(untrack)表示文件为新增加的 已修改(modified)表示修改了文件但还没保存到git仓库中。 已暂存(staged)表示对一个已修改文件的当前版本做了标记使之包含在下次提交的快照中 已提交(committed)表示文件已保存在git仓库中。 其它 GIT没有一个全局的版本号而SVN有目前为止这是跟SVN相比GIT缺少的最大的一个特征。 GIT的内容完整性要优于SVNGIT的内容存储使用的是SHA-1哈希算法。这能确保代码内容的完整性确保在遇到磁盘故障和网络问题时降低对版本库的破坏 直接记录快照而非差异 GIT把内容按元数据方式存储而SVN是按文件所有的资源控制系统都是把文件的元信息隐藏在一个类似.svn,.cvs等的文件夹里。 直接记录快照而非差异 GIT分支和SVN的分支不同分支在SVN中一点不特别就是版本库中的另外的一个目录。 git存在分支。 二、git的使用
1、创建仓库 进入工作台 - Gitee.com官网进行登录注册。在首页点击创建仓库填写完之后创建即可。 仓库名称和路径根据你自己的来进行填写这两个也是必须要填写的。如果你是新手我建议这边选中开源。 2、Windows安装Git 进入Git - Downloads (git-scm.com)下载2.22以上的版本。 【注意】不要安装在C盘(win10会有权限问题)。 下载完成后双击安装选中安装路径。①默认不会在桌面创建图标并且增加了一个新的特性 ②将GItBash添加到Windows terminal中建议勾选。 选择一个默认的编辑器默认为Vim(Linux的)里面还有Notepad我选择使用Vim 在Git创建分支后的默认的名字master,如果没有特别的使用默认的设置点击next即可默认推荐为第二个不包含全部的工具。第三个是git 和 Unix全部工具开启https连接保证数据传输数据的安全按照默认的选择即可额外的配置选项这里面默认都没有选可以将这两个选框勾选上支持node、python然后选择install①启动git Bash ②查看发行说明 可以不用选中win R cmd 输入git --version 查看版本 或者在电脑的任意位置右键看见这两个就说明安装成功了 3、上传仓库 创建一个新的仓库创建完成后记住或者保存这个界面会用到。在本地新建一个用来上传的文件夹右键点击 Git Bash Here ,会出现一个命令窗口。一次运行创建仓库出现的命令。①运行第一个命令会在你的用户下面 出现一个文件。 ②执行第二个框选的命令当我们执行到git init的命令后会有一个隐藏的文件夹我们执行完命令之后会弹出一个登录的窗口登录即可。 上传完成 快速上传 把我们的文件放入已经创建好的仓库文件夹里面在命令窗口里面 输入命令 git add .git commit -m 新提交的文件 提交之后在git是看不到你的文件的git push 推送到git 4、仓库下载资源 拿到我们需要克隆的地址。创建一个新的文件夹用于克隆。 输入命令git clone [url]克隆远程仓库到本地。克隆完成 三、git常用命令 Git有许多其他命令和选项可供使用。可以通过运行git --help或查阅Git文档来获取更详细的命令说明和用法。以下是一些常见的Git命令及其功能 git init初始化一个新的Git仓库。 git clone [url]克隆远程仓库到本地。 git add [file]将文件添加到暂存区。 git commit -m message提交暂存区的文件并添加提交信息。 git status查看工作区和暂存区的状态。 git log查看提交历史记录。 git branch查看分支列表。 git checkout [branch]切换到指定分支。 git merge [branch]将指定分支合并到当前分支。 git pull拉取远程仓库的最新代码。 git push推送本地代码到远程仓库。 git remote add origin [url]关联本地仓库与远程仓库。 git diff查看工作区与暂存区的差异。 git reset [commit]撤销提交并将HEAD指针移动到指定的提交。 git stash将当前修改保存到临时存储区以便切换分支或恢复后再次应用。 四、git常用命令理论 这些命令是Git的基础可以帮助你管理你的项目和协作与他人。在使用这些命令时你需要理解其背后的理论包括版本控制、分支管理、合并和解决冲突等概念才能更好地使用Git来管理你的项目。 下面是一些常用的Git命令及其理论 git init这个命令用于创建一个新的Git仓库。当你运行这个命令时Git会在当前目录下创建一个新的.git目录这个目录包含了所有Git需要的数据和元数据。 git clone这个命令用于克隆一个Git仓库到本地。你可以通过这个命令下载一个远程仓库到你的本地机器上这样你就可以查看该项目或者对其进行修改。 git add这个命令用于将文件添加到暂存区准备提交。根据目标文件的状态不同此命令的效果也不同可以用它开始跟踪新文件或者把已跟踪的文件放到暂存区还能用于合并时把有冲突的文件标记为已解决状态等。 git commit这个命令用于提交暂存区中的文件到仓库。你可以通过这个命令将暂存区中的文件提交到你的本地仓库。 git push这个命令用于将本地仓库中的文件推送到远程仓库。你可以通过这个命令将你本地的修改推送到远程仓库以便其他人可以看到和共享你的更改。 git pull这个命令用于从远程仓库中拉取文件到本地。你可以通过这个命令从远程仓库中下载最新的更改到你的本地机器上以便你可以查看和修改这些文件。 git merge这个命令用于合并两个分支。你可以通过这个命令将两个分支的更改合并到一起。 git rebase这个命令用于将一个分支的更改应用到另一个分支上。你可以通过这个命令将一个分支的更改应用到另一个分支上而不是合并两个分支。