每学期都需要小组课设,我们在开发的时候就遇到这样的问题,如果阿豪靓仔在开发的时候修改了代码,虽然我和他在开发前都沟通好了我们开发不同的模块,但是在后面难免会需要互相调用对方模块的接口或方法,这个时候怎么合并我们写的项目呢,这是只能一个包一个包,甚至一个类一个类的的复制,将两个模块的代码人工合并到一起。
而git能够帮我们解决这个问题,它能帮我们找到每次提交的项目的差异,并将其合并成一个完整的项目文件
这样每次阿豪靓仔就可以和我同步开发了,开发完一部分只需要每次都提交到git上合并代码,再clone下来,在合并的项目基础上再做进一步开发
Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
SVM是集中式版本控制系统,产品的版本库是集中放在中央服务器的,用户开发需要从中央服务器上下载最新的版本,然后进行开发,开发后再提交到中央服务器上;所以就存在一个缺点,如果中央服务器故障,那么所有人都无法工作了,因为SVN记录的是每次改动的差异,不是完整文件。
缺点:容易单点故障,容错性差
Git是分布式版本控制系统,它是没有中央服务器的,每一台参与工作的电脑都是一个完整的仓库,如果一台电脑出现故障,对于整个开发团队来说并不会丢失产品版本库,在其他工作的电脑里还是有完整的版本库
Git是分布式版本控制系统分为两种仓库:本地仓库和远程仓库
本地仓库:是在开发人员自己电脑上的Git仓库
远程仓库:是在远程服务器上的Git仓库
三种常见操作:
Clone:克隆,就是将远程仓库复制到本地
Push:推送,就是将本地仓库代码上传到远程仓库
Pull:拉取,就是将远程仓库代码下载到本地仓库
Git工作流程 工作流程如下:
1.从远程仓库中克隆代码到本地仓库
2.从本地仓库中checkout代码然后进行代码修改
3.在提交前先将代码提交到暂存区
4.提交到本地仓库。本地仓库中保存修改的各个历史版本
5.修改完成后,需要和团队成员共享代码时,将代码push到远程仓库
下载地址:Git - Downloads (git-scm.com)
安装教程:(1条消息) Git安装_Dongguo丶的博客-CSDN博客_git安装
本文只简单记录我的安装状态,如想学习详细安装教程请参考上文博客
下载后双击可执行文件,然后直接点next
选择一个全英文的没有特殊字符的路径
之后就一路点next就可以了
下载完成后,在桌面右键打开git Bash here然后输入git --version
可以查看git的版本
git --version
下载链接:Download – TortoiseGit – Windows Shell Interface to Git
安装教程:[(1条消息) 625]Git +TortoiseGit安装配置详细步骤_周小董-CSDN博客_tortoisegit安装
下载Tortoise和语言包
默认就可以了
更改路径,我将其放在了git的同级目录下
安装语言包
鼠标右键选择TortoiseGit->Settings
,打开设置界面
选择语言选择项,更改为中文(简体),然后重新打开后TortoiseGit
就已经是中文了
除此之外,我们可以设置一些常用的功能出现在顶级右键菜单中
创建版本库
什么是版本库呢?版本库又名仓库,英文名repository,你可以简单理解成一个目录,这 个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任 何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。由于git是分布式版本管理工具, 所以git在不需要联网的情况下也具有完整的版本管理能力。
创建一个版本库非常简单,可以使用git bash也可以使用tortoiseGit。首先,选择一个合 适的地方,创建一个空目录。例如:E:\GitFolder\repository
。
使用GitBash
在当前目录(E:\GitFolder\repository
)中点击右键中选择Git Bash来启动
在此窗口中输入 git init 指令,如下图所示:
此时可以看到在此文件夹下生成了一个.git
的文件夹
版本库:
.git 目录就是版本库,将来文件都需要保存到版本库中。
工作目录:包含 .git 目录的目录,也就是 .git 目录的上一级目录就是工作目录。
只有 工作目录中的文件才能保存到版本库中
使用TortoiseGit
使用TortoiseGit时只需要在目录中点击右键菜单选择“在这里创建版本库”,如下图所示:
当然如果这个文件夹目录下已经有.git
文件是无法再创建版本库的,右键鼠标自然也不会看到“在这里创建版本库”选项
如何使用gitee
创建远程仓库
首先我们要注册一个gitee
账号
gitee官网:Gitee - 基于 Git 的代码托管和研发协作平台
登录gitee后创建一个远程仓库
创建成功后我们可以查看到我们的仓库
每个Git远程仓库都会对应一个网络地址,可以点击克隆/下载按钮弹出窗口并点击复制按 钮获得这个网络地址,如下图所示:
Gitee支持常用的两种同步方式,分别是 https 和 ssh 。如果使用https很简单基本不需要配
置就可以使用,但是每次提交代码和下载代码时都需要输入用户名和密码。如果使用ssh方式
就需要客户端先生成一个密钥对,即一个公钥一个私钥。然后还需要把公钥放到gitee的服务器
上。这两种方式在实际开发中都用应用,所以我们都需要掌握。接下来我们先看https方式。
如果我们要对一个开源项目或者是团队里已经开发了一部分的项目进行开发,我们要做的第一步就是要将这个远程仓库克隆到本地
我们创建了一个远程仓库,那怎么将远程仓库克隆到本地,构建本地仓库呢?
在全英路径下创建一个空文件夹
然后右键鼠标克隆一个远程仓库,这里我们克隆的是刚刚创建好的那个gitee仓库
在URL下填写仓库的网络地址,然后点击确定
这个时候可能会弹出要输入账号密码,这个就是我们注册gitee的账号密码
输入密码后,就会出现成功字样,表示克隆成功
这时可以看到,我们成功克隆到了远程的test仓库
现在我对团队的这个项目进行了修改或者开发了新的功能,我们又如何将这份修改的项目提交到远程仓库,让团队里的伙伴们看到呢?
首先我这里在文件夹下创建一个txt文件来模拟我对这个项目的修改
在这个文件下,任意位置右键鼠标选择提交
这时如果我们还没有设置git的用户名和电子邮箱,我们还需要根据提示设置git的用户名和电子邮箱
用户名建议使用gitee主页下的用户名,这样每次的提交git的用户名和仓库拥有者的用户名是一样的
完成输入用户名和邮箱后,点击确定,就会出现提交项目的信息设置界面
点击提交,正常情况下会出现成功字样
但是提交了之后在远程仓库下还看不到我们刚刚修改的文件
因为我们还需要推送操作,才是真正的推送到了远程仓库下
之后我们在远程仓库下就能查看到这次推送了
如果我们已经克隆了仓库,过了好几天准备做开发和修改,可是小伙伴们可能提交了新的版本到远程仓库,那么几天前克隆到自己电脑里的这个项目就是old的了,防止自己的开发和小伙伴们的重复,我们应当在每次开发前都拉取一次项目,保证本地仓库是最新的,同时在开发前我们也要和小伙伴们提前沟通,避免在同一时间同时开发相同的模块;
Git中从远程的分支获取最新的版本到本地有这样2个命令:
- git fetch:相当于是从远程获取最新版本到本地,不会自动merge(合并代码)。
- git pull:相当于是从远程获取最新版本并merge到本地。
- 上述命令其实相当于git fetch 和 git merge,在实际使用中,git fetch更安全一些,因为在 merge前,我们可以查看更新情况,然后再决定是否合并。
- 如果使用TortoiseGit的话可以从 右键菜单中点击 拉取 (pull)或者 获取 (fetch)
还是使用这个test仓库,我们在文件夹下任意位置,右键鼠标选择拉取
弹出pull菜单框
然后成功拉取就会出现如下界面
在开发过程中可能会经常查看代码的修改历史,或者叫做修改日志。来查看某个版本是谁修改 的,什么时间修改的,修改了哪些内容。
可以在文件上点击右键选择 显示日志 来查看文件的修改历史
如果能帮到你,记得留个赞哦
后续更文:后续还会根据开发需要继续更新git和TortoiseGit的使用哦,点个关注吧