一.git的简介
1.什么是git?
Git是一个免费开源的分布式版本控制系统,最初由Linus Torvalds创建,用于管理软件开发过程中的代码版本和协作。
2.Git的主要特点
- 分布式版本控制: 每个开发者在本地都有完整的代码仓库,可以独立工作,无需依赖中央服务器。
- 高效性能: Git设计上非常高效,快速执行提交、分支、合并等操作,使得大型项目也能够轻松管理。
- 强大的分支支持: Git鼓励频繁的分支与合并,使得并行开发变得更加容易,而且合并冲突解决相对简单。
- 完整性保证: Git使用SHA-1哈希算法来保证数据完整性,能够确保存储在Git仓库中的数据不会轻易被更改或丢失。
- 多种协议支持: Git支持多种网络协议(如SSH、HTTP、Git等)来进行远程仓库的访问和传输。
通过Git,开发者可以跟踪文件的变化、撤销修改、比较差异、合并代码以及管理项目的不同版本。它已经成为了许多软件开发团队的标准工具,并且被广泛应用于各种开源和私有项目中。
总的来说,Git是一个强大、灵活且高效的版本控制系统,为开发者提供了一套完整的工具来管理和协作开发项目的代码。
3.Git的工作流程
Git的工作流程涉及到本地仓库和远程仓库之间的操作,一般可以描述为以下几个基本步骤:
- 在本地创建仓库:首先,在本地创建一个Git仓库,可以使用
git init
命令将一个现有的项目或者空目录初始化成一个Git仓库。 - 添加和提交文件:将项目中的文件添加到Git仓库。使用
git add
命令将要提交的更改加入到暂存区(staging area),然后使用git commit
命令将这些更改提交到仓库中。 - 创建分支:通过
git branch
命令创建新的分支,然后使用git checkout
命令切换到新创建的分支上。在新分支上进行开发工作可以避免影响主分支的稳定性。 - 合并分支:开发完成后,可以使用
git merge
命令将新的分支合并回主分支,这样就将新的功能整合到了主分支上。 - 解决冲突:在合并分支时可能会出现冲突,需要手动解决冲突后再提交合并结果。
- 推送到远程仓库:将本地仓库中的更改推送到远程仓库,可以使用
git push
命令将本地提交推送到远程仓库中。 - 拉取远程更改:在多人协作的情况下,可以使用
git pull
命令从远程仓库中拉取最新的更改到本地仓库中。
4.git和svn区别
Git和SVN(Subversion)是两种常见的版本控制系统,它们在设计理念和工作方式上有一些显著的区别:
- 分布式vs集中式:
- Git是分布式版本控制系统,每个开发者都有完整的仓库副本,可以在本地独立工作,并且无需依赖中央服务器。
- SVN是集中式版本控制系统,所有代码的历史记录都保存在中央服务器上,开发者需要从中央服务器检出代码才能进行工作。
- 提交与版本管理:
- Git的提交是针对本地仓库,每个提交都会在本地生成一个快照,而分支和合并操作非常灵活。
- SVN的提交是直接作用于中央仓库,开发者必须与中央仓库进行频繁的交互,合并操作相对复杂。
- 性能:
- 由于Git是分布式的,大部分操作可以在本地快速执行,因此在性能上通常要优于SVN,尤其是在处理大型项目时。
- SVN在处理大型文件和大型代码库时性能可能会受到影响。
- 分支与合并:
- Git的分支和合并操作非常高效和灵活,因为每个本地仓库都包含完整的历史记录,可以在本地多次进行分支和合并操作。
- SVN的分支和合并相对复杂,通常需要依赖中央服务器来完成这些操作。
- 安全性:
- Git使用SHA-1哈希算法来保证数据完整性,可以确保存储在Git仓库中的数据不会轻易被更改或丢失。
- SVN使用增量文件系统,对数据完整性的保护没有Git那么强大。
总体而言,Git更适合于需要高度灵活性、分布式协作以及对性能要求较高的项目;而SVN在传统的集中式项目管理和版本控制方面有其优势。随着开源社区的不断发展,Git已经成为了大多数项目的首选版本控制系统。
二.Git安装
1.注册用户来使用Git
2.下载git
3.具体的安装流程
接下来一路next即可,就是安装成功
三.git常用命令
1.搭建开发环境,将项目部署到Gitee
简易的命令行入门教程:
Git 全局设置:
git config --global user.name "mo"
git config --global user.email "3500858957@qq.com"
在C盘的用户下面
创建 git 仓库:
mkdir ssm
cd ssm
git init
touch README.md
git add README.md
git commit -m "first commit"
git remote add origin https://gitee.com/zxsssssss/ssm.git
git push -u origin "master"
已有仓库?
cd existing_git_repo
git remote add origin https://gitee.com/zxsssssss/ssm.git
git push -u origin "master"
2.团队开发
之后进行根据创建 git 仓库的命令,创建一个文件,再将文件给Git管理,之后查看状态
看到如图所示说明已经给Git管理,如果是红色说明没有。
然后通过查看 状态 以及 加载项目
‘’
3. 搭建项目环境
将项目的文件夹复制到Git工作区间,再将这个项目给Git管理,并且仓库状态。
git add . 这个命令是将该文件夹下所有文件给Git管理,
将项目上传到本地,并且给与备注,再将项目上传到远程仓库。
在Gitee的仓库中就可以看到了
4. 团队开发
项目已经在远程仓库部署好了,现在比如 : 开发团队中其他人需要获取其中的项目。
在这个需要获取其中项目的人中的工作区间,一样的,先点击Git Bash Here ,打开命令窗口。
在命令窗口中输入克隆远程仓库中使用文件的命令 :
git clone https://gitee.com/mo/ssm.git
上面的网址是远程仓库的地址,在右上角有克隆的网址,谁需要就复制给谁即可,再加上
命令执行即可拿到所有的文件。
执行完成之后可以进入目录中查看到所有的文件。
在团队开发中,可以会有版本或者修改同一地方的修改,之后一人已经上传到远程,另一个人再生成到远程的话,就会出现以下错误 :
遇到这个问题呢,两人都需要先获取到最新的远程仓库中的文件
获取最新文件命令 : git pull
都输入该命令后,再查看相同地方的修改是否有问题,比如版本问题
如图 :
可以看到修改的版本出现了两个5.0.3和5.0.5,比如经过双方的商量,两个版本都需要留下
只需要一人将其中的代码修改为如图 :
将其中多余的符号删除掉就好,如何输入命令给git管理,并且将上传到本地仓库,再上传到远程仓库
最后双方都输入命令 : git pull ( 获取最新文件 )
即可完成解决问题。