前言
进公司毕竟是多人协作的事情,不是你一个人在更改代码,所以必须要会代码管理工具来多人管理代码。(如果一个人干所有人的活当我没说)
作为2023年代码管理工作最为出名的分布式那肯定还是Git。
当然也有其他的,比如SVN等等。
这篇主要讲解的是Git的使用。
一、版本控制是什么
用于管理多人协同开发项目的技术。
版本控制最主要的功能就是追踪文件的变更。
它将什么时候、什么人更改了文件的什么内容等信息忠实地了记录下来。每一次文件的改变,文件的版本号都将增加。
除了记录版本变更外,版本控制的另一个重要功能是并行开发。
软件开发往往是多人协同作业,版本控制可以有效地解决版本的同步以及不同开发者之间的开发通信问题,提高协同开发的效率。
并行开发中最常见的不同版本软件的Bug修正也可以通过版本控制中分支与合并的方法有效地解决。
常用的版本控制工具就是Git和SVN。
二、Git和SVN的区别
SVN
:集中式版本控制,所有的版本数据都在服务器上,协同开发者从服务器上同步更新或上传自己的修改。
集中式版本控制系统,版本库是集中放在中央服务器的,而工作的时候,用的都是自己的电脑,所以首先要从中央服务器得到最新的版本,然后工作,完成工作后,需要把自己做完的活推送到中央服务器。
集中式版本控制系统是必须联网才能工作,对网络带宽要求较高。
好处:
- 每个人拥有部分代码,安全隐患低
坏处:
- 本地只有同步的版本,其他版本要下载才能切换
- 所有数据都在单一的服务器上,只能定期备份。
- 必须联网
Git
:分布式版本控制,所有版本信息仓库全部同步到本地的每个用户,这样就可以在本地查看所有的版本历史,可以离现在本地提交,只需在联网的时候push到相应服务器或者其他用户那里。每个用户保存的都是所有的版本数据,只要有一个用户的设备没问题就可以恢复所有的数据,增加了本地存储空间的压力。
分布式版本控制系统,没有中央服务器,每个人的电脑就是一个完整的版本库,工作的时候不需要联网了,因为版本都在自己电脑上。
协同的方法是这样的:比如说自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。
好处:
- 没有网络也能工作
- 恢复备份数据容易
- 可以直接看到更新了哪些代码和文件
坏处:
- 每个人都有全部代码,不安全
- 增加了本地存储空间的压力
疑问
1)git创建分支的时候是从当前的分支复制一份并创建吗?
是的,创建分支时会从当前所在的分支(通常是主分支或其他已存在的分支)复制一份,并将其作为新的分支。这样就可以在新的分支上进行修改和提交操作,而不影响到原有的源分支以及其他已存在的分支。
需要注意的是,分支并不是一个独立的代码仓库,而是在同一个代码仓库中管理不同版本的代码。因此,在切换到不同分支时,会切换到对应版本下的代码。
当我们在一个特定的分支上开发程序时,我们可以安心地进行修改和提交操作,因为只有当前所在的分支受到影响。
2)本地项目上传到远程仓库的步骤
1. 获取公钥
Git命令:
ssh-keygen
选项:
-t [加密算法类型] (比如rsa)
当我敲ssh-keygen -t rsa
后,会生成下面2个文件。
打开.pub公钥后,复制粘贴即可。
疑问:为什么Git远程仓库要配置公钥和私钥呢?
Git远程仓库需要配置公钥和私钥是为了实现安全的身份认证和数据传输加密。
Git 采用 SSH 协议进行远程连接,而 SSH(Secure Shell)是一种加密网络协议。在 Git 远程连接中,公钥和私钥是 SSH 认证方式下的一种身份验证机制。
在 Git 中,私钥存放在本地电脑上,公钥存放在 Git 远程仓库服务器上。当你通过 SSH 连接到远程仓库时,Git 会使用你本地电脑上的私钥进行身份认证,并与远程仓库建立起安全的通信渠道。
通过这种方式,Git 可以确保只有授权用户才能访问和操作远程仓库,防止非授权用户篡改或窃取代码。
因此,在配置 Git 远程连接时设置公钥和私钥是非常重要的,可以有效保护你的代码安全。
2. 登录远程仓库并创建项目
3. 获取远程仓库地址URL
4. 克隆空项目到本地Git
打开你想存放的本地文件夹地址,右键打开Git Bash ,敲入git clone URL
,把对于的URL替换即可连接成功到本地文件夹。
5. 本地项目上传到远程仓库
方法一:创建本地项目的时候,把项目位置放到git目录下!
方法二:将远程的Git文件目录拷贝到项目中即可!
3)IDE中的操作
此时此刻项目就已经集成了Git,可以在IDE中拉取远程,也可以Commit,但是需要git add .
添加到暂存区,才看得到Commit框中我们代码中的所有文件(需要添加什么文件到暂存区就add 后面的.替换成什么文件,.
代表所有文件),Commit成功即可添加到本地库。
以上都是个人版的开发操作,就是不属于公司并行开发的模式!!
公司并行开发的话,我们公司用了差异化管理,但是一般公司开发都用Git分支。
这里就不say了,基本使用就这样,想去了解分支等等用法自己去了解。文章来源:https://www.toymoban.com/news/detail-407722.html
看完已经可以让小白对Git的认知提高一层了。文章来源地址https://www.toymoban.com/news/detail-407722.html
到了这里,关于【Git】版本控制之基础用法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!