1. 版本控制软件介绍
版本控制软件提供完备的版本管理功能,用于存储、追踪目录(文件夹)和文件的修改历史,是软件开发者的必备工具,是软件公司的基础设施。版本控制软件的最高目标,是支持软件公司的配置管理活动,追踪多个版本的开发和维护活动,及时发布软件。
编程中的代码版本控制工具是软件开发过程中不可或缺的一部分。它能够帮助开发团队有效地管理代码变更、追踪历史记录、协同工作以及解决冲突。
主流版本控制工具:Git、Svn 等
2. Git介绍
Git是一个开源、免费的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理.
Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
Torvalds 开始着手开发 Git 是为了作为一种过渡方案来替代 BitKeeper,后者之前一直是 Linux 内核开发人员在全球使用的主要源代码工具。开放源码社区中的有些人觉得 BitKeeper 的许可证并不适合开放源码社区的工作,因此 Torvalds 决定着手研究许可证更为灵活的版本控制系统。尽管最初 Git 的开发是为了辅助 Linux 内核开发的过程,但是我们已经发现在很多其他自由软件项目中也使用了 Git。例如 最近很多 Freedesktop 的项目也迁移到了 Git 上。
3. Git工作原理
Git的工作原理可以概括为以下几个步骤:
(1)初始化仓库:使用git init命令在本地创建一个新的Git仓库。
(2)检出(Checkout):切换到想要工作的分支。
(3)暂存(Stage):使用git add命令将修改后的文件添加到暂存区。
(4)提交(Commit):使用git commit命令将暂存区的内容提交到本地仓库。
(5)推送(Push):使用git push将本地仓库的提交推送到远程仓库。
(6)拉取(Pull):使用git pull命令从远程仓库获取最新内容并合并到本地仓库。
(7)分支(Branch):创建、切换、合并分支。
(8)远程同步:使用git fetch和git pull从远程仓库获取最新的历史记录和数据。
4. Git下载
4.1 访问Git官网 https://git-scm.com/
4.2 进入下载页面,可以下载最近版的Git工具,选择对应的版本,例如:windows 64位
下载之后的文件为:
5. Git安装与配置
5.1 双击安装文件,之后按下图进行操作
5.2 看完许可声明,点击Next就好了
5.3 选择安装路径
5.4 选择组件
5.5 选择开始菜单文件夹
创建安装程序将在下面的“开始”菜单文件夹中创建程序的快捷方式。继续点击Next。如果要选择其他文件夹可以自行修改
5.6 选择Git使用的默认编辑器
使用Vim作为Git的默认编辑器,Vim编辑器虽然功能强大,但很难使用。它的用户界面是不直观的,它的关键绑定是尴尬的。建议改用现代GUI编辑器。其实这里用到编辑器并不多,就用默认的也是可以的
5.7 调整新存储库中初始分支的名称
默认创建存储库的初始分支为master,如果修改的话,可以选择第二个点击main,修改为想要的分支名
5.8 调整Path环境,推荐使用默认配置。
第一个是“仅从Git Bash只使用Git”。这是最安全的选择,因为PATH根本不会被修改,只能使用 Git Bash 的 Git 命令行工具,但是这将不能通过第三方软件使用。
第二个是“从命令行以及第三方软件进行Git”。默认这个配置也是被推荐的,被认为是安全的,因为它仅向PATH添加了一些最小的Git包装器,以避免使用可选的Unix工具造成环境混乱。能够从Git Bash,命令提示符和Windows PowerShell以及在PATH中寻找Git的任何第三方软件中使用Git。
第三个是“从命令提示符使用Git和可选的Unix工具”。警告:这将覆盖Windows工具,如“find 和sort ”。只有在了解其含义后才使用此选项。
推荐使用默认配置,点击“Next”按钮进入下一个安装界面。
5.9 选择SSH可执行文件
第一个使用Git附带的ssh.exe。
第二个使用外部OpenSSH,这使用外部ssh.exe。Git不会安装它自己的OpenSSH
(和相关的)二进制文件,但是使用它们就像在路径上找到的那样。
选择Git附带的就好,点击Next
5.10 选择HTTPS传输后端
第一个是使用OpenSSL库,服务器证书将使用ca-bundle.crt文件进行验证。
第二个使用本机Windows安全通道库,服务器证书将使用Windows证书存储进行验证。
点击Next
5.11 配置行结束转换
第一个是“签出Windows风格,提交Unix风格的行尾”。签出文本文件时,Git会将LF转换为
CRLF。提交文本文件时,CRLF将转换为LF。对于跨平台项目,这是Windows上的推荐设置(
core.autocrlf”设置为“ true”)
第二个是“按原样签出,提交Unix样式的行尾”。签出文本文件时,Git不会执行任何转换。 提交文本文件时,CRLF将转换为LF。对于跨平台项目,这是Unix上的建议设置(“ core.autocrlf”设置为“input”)
第三种是“按原样签出,按原样提交”。当签出或提交文本文件时,Git不会执行任何转换。不建议跨平台项目选择此选项(“core.autocrlf”设置为“ false”)
选择默认第一种选项,点击“Next”按钮到下一个安装界面。
5.12 配置用于Git Bash的终端模拟器
第一个是“使用MinTTY(MSYS2的默认终端)”。Git Bash将使用MinTTY作为终端模拟器,该模拟器具有可调整大小的窗口,非矩形选择和Unicode字体。Windows控制台程序(例如交互Python)必须通过“ winpty”启动才能在MinTTY中运行。
第二个是“使用Windows的默认控制台窗口”。Git将使用Windows的默认控制台窗(“cmd.exe”),
该窗口可以与Win32控制台程序(如交互式Python或node.js)一起使用,但默认的回滚非常有限,需要配置为使用unicode 字体以正确显示非ASCII字符,并且在Windows 10之前,其窗口不能自由调整大小,并且只允许矩形文本选择。
选择默认的第一种选项,点击“Next”按钮进入下一个安装界面。
5.13 选择git pull的默认行为
第一个是默认值,这是“git pu”的标准行为:尽可能将当前分支快速转发到获取的分支,否则创建合并提交
第二个是复位,将当前分支复位到获取的分支上。如果没有要重新设置基础的本地提交,这相当于快进,
第三个是只有快进,快进到获取的分支。如果不能获取,则失败。
选择默认的第一种选项,点击“Next”按钮进入下一个安装界面。
5.14 配置凭证管理器
第一个,Git凭证管理器
第二个,无,不要使用凭证管理器
选择默认的第一种选项,点击“Next”按钮进入下一个安装界面。
5.15 配置额外选项
第一个,“启用文件系统缓存”。文件系统数据将被批量读取并缓存在内存中用于某些操作
(“core.fscache”设置为“true”)。 这提供了显著的性能提升。
第二个,“启用符号链接”。启用符号链接(需要SeCreateSymbolicLink权限)。请注意,现有存储库不受此设置的影响。
选择第一种选项,点击“Next”按钮进入下一个安装界面。
5.16 配置实验选项
第一个,启用对伪控制台的实验性支持。
这允许在git bash窗口中运行Node或Python之类的本机控制台程序,而无需使用winpty,但它仍然存在已知的bug。
第二个,启用实验性内置文件系统监视器
自动运行内置的文件系统监视程序,以加速包含许多文件的工作树中的常见操作,如“git
status”、“git add”、“git commit”等,可以根据需要选择,这里都选上了,点击“Install”按钮开始安装
5.17 等待安装完成
5.18 点击finish安装完成,可以取消勾选,第二个是查看Git发行的,不取消勾选会在浏览器跳转
5.19 浏览器跳转页面
至此Git安装完毕。
6. Git 结合 Gitee使用
6.1 Gitee上创建仓库
6.1.1 登录Gitee官网,登录个人账号,新建仓库
新建仓库(填写项目名,项目介绍可以不写,项目初始化)
6.2 Git 克隆Gitee项目
6.2.1 进入项目,点击“克隆/下载”
6.2.2 使用https协议,复制url
6.2.3 使用Git克隆项目
6.2.3.1 进入指定的目录,执行git命令
例如:进入 D盘gitproject目录下,鼠标右键,选择“Open Git Bash here”
执行命令: git clone 远程仓库地址
6.3 Git将本地项目提交到Gitee远程仓库
6.3.1 在gitproject目录下创建code/index.html文件
6.3.2 切换到当前项目的根目录下
6.3.3 先要想本地代码添加到暂存区:git add 需要暂存的文件
6.3.4 将暂存区中的代码提交到本地仓库:git commit -m "说明文字"
6.3.5 将本地仓库的代码推送到远程仓库:git push
需要输入 gitee的用户名与密码
然后查看 gitee上内容是否有刚才创建的内容
6.3.6 如果提交的时候没有成功,需要配置提交人的信息,可以执行如下命令
注意:可以在刚安装好Git的时候,就设置用户签名(邮箱不一定需要真实的邮箱,因为Git不会去验证邮箱)
# git config --global user.email "you@example.com"
# git config --global user.name "Your Name"
git config --global user.email "377170019@qq.com"
git config --global user.name "lama"
6.4 SSH配置和使用
6.4.1 需要在本地配置相关的加密
执行 cd ~/.ssh
上图表示没有配置与ssh相关的加密文件
6.4.2 配置ssh相关的配置文件
命令: ssh-keygen -t rsa -C 'youremail@qq.com'
注意:邮箱最好和码云的保持一致
命令: ssh-keygen -t rsa -C '377170019@qq.com' (之后执行三次回车)
看到上面的内容,就表示本地的ssh相关的加密文件搞定啦,查看加密文件
id_rsa : 私钥
id_rsa.pub : 公钥
6.4.3 在码云上设置公钥
设置标题,并将C盘中生成的公钥内容复制进来
点击“确定”,如下
6.5 使用ssh克隆项目
执行
在code目录下添加 show.html,并进行提交
查看Gitee上的内容
6.6 冲突问题
6.6.1 什么是冲突
在开发中会出现多个人修改(操作)同一个文件。这时只要有一个人把修改的文件给提交了,其他人本地还没有去与远程仓库进行最新的文件拉去动作,但是其他人也改了相同的文件,这时不管谁提交文件,都会提示冲突,需要解决,否则无法提交
6.6.2 解决冲突方法
6.6.2.1 重新拉去远程仓库中最新的文件
6.6.2.2 本地就会出现冲突,需要人为介入解决冲突的代码
6.7 分支
在开发过程中,需要同时进行多个开发任务,这时我们可以使用Git分支功能,为每个任务创建单独的分支。使用分支把自己开发任务从开发主线上分离开来,开发自己分支时,不会影响主线分支的运行。
常用的分支操作如下:
6.7.1 查看当前仓库的分支情况:git branch
6.7.2 创建并切换到一个新的分支:git checkout -b 分支名
6.7.3 切换到已有分支(注意需要先把变更提交)git checkout 分支名
6.7.4 将指定的分支推送到gitee的master分支上
git push origin 分支名称
查看Gitee上的分支
6.7.5 删除远程仓库分支
git push origin --delete name
6.7.6 删除本地分支,否则远程仓库的删除分支,本地仓库还有分支
git branch –d name
6.7.7 将代码提交到指定的分支上,例如 test
7. Git 整合 IDEA
7.1 打开IDEA 工具,选择File=》Settings=》Version Control=》Git
选择Git的安装目录下git.exe ,然后点击“Test” 按钮进行测试
8. IDEA 将已有的本地项目关联到远程仓库
8.1 Gitee上创建对应的仓库,例如:shoppingproject
创建一个空白仓库
8.2 IDEA 中创建项目
8.3 创建本地仓库
项目文件的颜色改变
8.4 添加项目到本地仓库
项目右键,出来一下界面,然后点击“Add”添加项目到本地仓库。
执行完“Add” 之后,项目文件名的颜色也会发生变化
8.5 提交项目到本地仓库
项目右键,出现以下界面,然后点击“Commit Directory...”,将项目提交项目到本地仓库。
点击上图标记之后,进入提交界面,如图:(有可能出现的界面布局不同)
如下,然后点击“Commit” 即可
8.6 将项目添加到远程仓库
8.6.1 先获取远程仓库的https地址
8.6.2 设置远程仓库中项目路径
点击“+”号,添加地址
点击 OK 即可
8.6.3 push项目到远程仓库
选择“push” 即可
需要输入远程仓库,例如 Gitee码云的账号名与密码
输入完毕,点击“Log In” 即可。
然后查看Gitee上的项目
到此完成。
9. IDEA 从远程仓库克隆项目
9.1 将远程仓库Gitee中项目的url复制出来
9.2 打开IDEA工具,点击顶部菜单栏中的“VCS”(版本控制),然后选择“Get from Version Control”(从版本控制中检出)
完成项目的克隆
10. 使用IDEA进行Git操作
10.1 提交代码改动(在本地项目中创建一个jsp页面)
(1) 在IDEA的左侧导航栏中,你会看到项目的改动文件列表。
(2)右键点击需要提交的文件,然后选择“Git”->“Commit Directory...”(提交文件)。
(3)在弹出的提交窗口中,输入提交的描述信息,然后点击“Commit”(提交)按钮。
10.2 推送改动到远程仓库:
(1) 在IDEA的左侧导航栏中,点击顶部菜单栏中的“VCS”->“Git”->“Push”(推送)按钮(或者右键点击需要提交的文件,然后选择“Git”->“Commit Push”)。
(2) 输入你的Git仓库的远程URL和其他相关信息,然后点击“OK”按钮。
(3) IDEA将把你的本地改动推送到远程Git仓库。
10.3 更新代码改动:(测试方式,在远程仓库中创建一个jsp页面)
(1)在IDEA的左侧导航栏中,点击顶部菜单栏中的“VCS”->“Git”->“Pull”(更新项目)(或者右键点击需要提交的文件,然后选择“Git”->“Pull”)。
(2) IDEA将会从远程仓库获取最新的代码改动,并将其应用到你的项目中。