【通俗易懂】git原理、安装及连接gitlab,github

这篇具有很好参考价值的文章主要介绍了【通俗易懂】git原理、安装及连接gitlab,github。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、GIT原理【这部分也挺简单,可以看看,如果没时间可以直接跳到第二部分】

SVN与Git的的区别

二、安装Git 

 2.1 获取Git安装程序

2.2 Git安装过程

三、Git连接Gitlab

3.1 gitlab准备工作

3.2 本地计算机准备工作及配置git 

 四、Git连接Github


一、GIT原理【这部分也挺简单,可以看看,如果没时间可以直接跳到第二部分】

Git 是一种分布式版本控制系统,用于管理软件项目的源代码。它是由 Linux 之父 Linus Torvalds 开发的,并已经成为了现代软件开发领域中最流行的版本控制系统之一。

使用 Git 可以追踪代码的历史修改记录,方便团队协作、代码共享和代码重构。Git 的基本工作流程如下:

  1. 在开始编写代码之前,首先需要创建一个 Git 仓库(repository),用于存储代码和版本历史记录。
  2. 在编写代码时,可以通过 git add 命令将更改的文件添加到 Git 的暂存区(staging area)中。
  3. 通过 git commit 命令将暂存区中的更改提交到 Git 仓库中,并生成一个新的版本号(commit hash)。
  4. 如果需要撤销某个提交,可以使用 git revert 命令来创建一个新的提交,该提交将会抵消先前的提交效果。
  5. 如果需要合并不同分支的代码,可以使用 git merge 命令进行合并。
  6. 如果需要查看代码的历史提交记录,可以使用 git log 命令来获取详细信息。
  7. 如果需要将代码推送到远程仓库,可以使用 git push 命令将本地代码推送到远程仓库。
  8. 如果需要从远程仓库中获取代码,可以使用 git pull 命令将远程代码拉取到本地。

git怎么连接gitlab,Git的使用,git,gitlab,github

  • Workspace:工作区
  • Index / Stage:暂存区
  • Repository:仓库区(或本地仓库)
  • Remote:远程仓库

SVN与Git的的区别

SVN和Git都是版本控制系统,但它们有以下区别:

  1. 分布式 vs 集中式:Git 是一种分布式版本控制系统,而 SVN 是一种集中式版本控制系统。在 Git 中,每个开发者都拥有本地代码库的完整副本,可以离线工作并在不同的工作流程之间自由转换。而在 SVN 中,所有开发者共享同一个中央代码库,并且需要有网络连接才能进行版本控制操作。
  2. 分支管理:Git 在分支管理方面比 SVN 更加强大和灵活。Git 的分支非常轻量级,创建和合并分支也很容易,因此可以轻松实现多人协作和并行开发。而在 SVN 中,分支比较重量级(即创建和合并分支需要花费相对更多的时间和资源),因此往往只用于重要的版本分支。
  3. 版本号:Git 使用 SHA-1 哈希值来标识每个提交,而 SVN 采用递增的数字版本号来标识每个提交。SHA-1 哈希值保证了每个提交的唯一性,而递增版本号则简化了版本控制过程。
  4. 整体性:由于 SVN 是一种集中式版本控制系统,因此所有数据都存储在中央代码库中。如果中央代码库损坏或丢失,可能会导致数据丢失或无法恢复。而 Git 是一种分布式版本控制系统,每个开发者都拥有完整的代码库副本,保证了代码的整体性和可靠性。
  5. 性能:Git 比 SVN 更快,特别是在处理大型仓库、分支合并以及比较代码差异时。Git 使用基于内容的哈希算法来检测文件是否修改,而 SVN 则需要检查文件的元数据(如时间戳和文件大小)来确定是否修改。

总之,虽然 SVN 和 Git 都是版本控制系统,但它们的设计和实现方式存在较大差异,开发人员应根据自身需求选择最适合的版本控制系统。

二、安装Git 

 2.1 获取Git安装程序

        到Git官网下载,网站地址:https://git-scm.com/downloads,如下图

git怎么连接gitlab,Git的使用,git,gitlab,github

  因为我们是用Windows系统上的浏览器访问的,Git官网自动之别到了我使用的操作系统,所以右侧直接显示下载使用Windows系统的最新版本(如果识别错误,可以在中间选择系统),点击即可下载。我下载的是 2.24.0 for Windows,文件名称是“Git-2.24.0.2-64-bit.exe”。下载到电脑上之后,鼠标双击这个文件即可进入安装过程。

2.2 Git安装过程

  双击看到的第一个界面如下图:

01、使用许可声明

git怎么连接gitlab,Git的使用,git,gitlab,github

  点击“Next”进入下图页面:

02、选择安装路径

git怎么连接gitlab,Git的使用,git,gitlab,github

  在输入框内输入想要安装到的本机路径,也就是实际文件夹位置,或点击“Browse...”选择已经存在的文件夹,然后点击“Next”按钮继续,进入下图界面:

03、选择安装组件

git怎么连接gitlab,Git的使用,git,gitlab,github

  上图红框内的选项是默认勾选的,建议不要动。绿色框1是决定是否在桌面创建快捷方式的。绿色框2是决定在所有控制台窗口中使用TrueType字体和是否每天检查Git是否有Windows更新的。这些根据自己需要选择。

  点击“Next”按钮进入下图界面:

04、选择开始菜单页

git怎么连接gitlab,Git的使用,git,gitlab,github

  这个界面是创建开始菜单中的名称,不需要修改,直接点“Next”按钮继续到下图的界面:

05、选择Git文件默认的编辑器

git怎么连接gitlab,Git的使用,git,gitlab,github

  这个页面是在选择Git文件默认的编辑器,很少用到,所以默认Vim即可,直接点“Next”按钮继续到下图的界面:

06、调整您的PATH环境

git怎么连接gitlab,Git的使用,git,gitlab,github

  这个界面是调整您的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”按钮继续到下图的界面:

07、选择HTTPS后端传输

git怎么连接gitlab,Git的使用,git,gitlab,github

  这个界面是选择HTTPS后端传输。

  第一个选项是“使用 OpenSSL 库”。服务器证书将使用ca-bundle.crt文件进行验证。这也是我们常用的选项。

  第二个选项是“使用本地 Windows 安全通道库”。服务器证书将使用Windows证书存储验证。此选项还允许您使用公司的内部根CA证书,例如通过Active Directory Domain Services 。

  我使用默认选项第一项,点击“Next”按钮继续到下图的界面:

08、配置行尾符号转换

git怎么连接gitlab,Git的使用,git,gitlab,github

  这个界面是配置行尾符号转换。

  第一个选项是“签出Windows风格,提交Unix风格的行尾”。签出文本文件时,Git会将LF转换为CRLF。提交文本文件时,CRLF将转换为LF。对于跨平台项目,这是Windows上的推荐设置(“ core.autocrlf”设置为“ true”)

  第二个选项是“按原样签出,提交Unix样式的行尾”。签出文本文件时,Git不会执行任何转换。 提交文本文件时,CRLF将转换为LF。对于跨平台项目,这是Unix上的建议设置(“ core.autocrlf”设置为“ input”)

  第三种选项是“按原样签出,按原样提交”。当签出或提交文本文件时,Git不会执行任何转换。不建议跨平台项目选择此选项(“ core.autocrlf”设置为“ false”)

  我选择第一种选项,点击“Next”按钮继续到下图的界面:

09、配置终端模拟器以与Git Bash一起使用

git怎么连接gitlab,Git的使用,git,gitlab,github

  这个界面是配置终端模拟器以与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”按钮继续到下图的界面:

10、配置配置额外的选项

git怎么连接gitlab,Git的使用,git,gitlab,github

  这个界面是配置配置额外的选项。

  第一个选项是“启用文件系统缓存”。文件系统数据将被批量读取并缓存在内存中用于某些操作(“core.fscache”设置为“true”)。 这提供了显著的性能提升。

  第二个选项是“启用Git凭证管理器”。Windows的Git凭证管理器为Windows提供安全的Git凭证存储,最显着的是对Visual Studio Team Services和GitHub的多因素身份验证支持。 (需要.NET Framework v4.5.1或更高版本)。

  第三个选项是“启用符号链接”。启用符号链接(需要SeCreateSymbolicLink权限)。请注意,现有存储库不受此设置的影响。

  我勾选默认的第一、第二选项,点击“Next”按钮继续到下图的界面:

11、配置实验选项

git怎么连接gitlab,Git的使用,git,gitlab,github

  这个界面是配置实验选项。

  启用实验性的内置添加 -i / -p。(新!)使用实验性的内置交互式add(“ git add -i”或“ git add -p”)。这使其速度更快(尤其是启动!),但尚未被认为是可靠的。

  默认不勾选,直接点击“Next”按钮继续到下图的安装进度界面:

12、安装进度指示

git怎么连接gitlab,Git的使用,git,gitlab,github

  安装进度结束之后,会出现下图的完成Git安装向导界面:

13、安装完成

git怎么连接gitlab,Git的使用,git,gitlab,github

  在这个界面,可以勾选是否启动启动Git Bash和是否查看发行说明,然后点“Finish”按钮退出安装界面。

14、启动测试

  到此,Git的安装完成,可以在开始菜单中看到Git的三个启动图标(Git Bash、Git CMD(Deprecated)、Git GUI)。

Git Bash,是Git配套的一个控制台,点击打开如下图:

git怎么连接gitlab,Git的使用,git,gitlab,github

Git CMD(Deprecated),是通过CMD使用Git(不推荐使用),点击打开如下图:

git怎么连接gitlab,Git的使用,git,gitlab,github

Git GUI,是Git的可视化操作工具,点击打开如下图:

git怎么连接gitlab,Git的使用,git,gitlab,github

 

三、Git连接Gitlab

3.1 gitlab准备工作

1、在GitLab上创建一个账户:如果您还没有GitLab账户,请在GitLab官网(https://gitlab.com/users/sign_in)上创建一个账户。

2、创建一个新的Git仓库:登录到您的GitLab账户,然后在页面上创建一个新的Git仓库。请注意Git仓库的名称和位置,因为这些信息将用于配置本地Git。

3.2 本地计算机准备工作及配置git 

1、在计算机上创建个文件夹(用于专门存/传到gitlab或github代码,例如GitCode),进入文件夹内,右键打开Git Bash终端,并输入以下命令以设置您的Git用户名和电子邮件地址(最好和gitlab用相同的用户名和电子邮件地址,这样方便记。例如我的电子邮件地址是xxx@qq.com)

git怎么连接gitlab,Git的使用,git,gitlab,github

git config --global user.name "BosserWang"
git config --global user.email "xxxxx@xxx.com"

(BosserWang是用户名,xxxxx@xxx.com是电子邮箱,我的是qq邮箱,大家根据自己的信息自行修改)

 2、生成SSH密钥:输入以下命令以生成SSH密钥:

ssh-keygen -t rsa -C "xxxxx@xxx.com"

 这里的地址和上面的电子邮箱地址是同一个地址。

然后一路回车即可。

git怎么连接gitlab,Git的使用,git,gitlab,github

 3、添加SSH密钥到GitLab:使用以下命令将SSH密钥添加到GitLab:

cat ~/.ssh/id_rsa.pub

 (~表示用户目录,比如我的windows就是C:\Users\Administrator.DESKTOP,并复制下面红色框内的内容)

git怎么连接gitlab,Git的使用,git,gitlab,github

4、打开gitlab,把ssh添加进去。

git怎么连接gitlab,Git的使用,git,gitlab,github

git怎么连接gitlab,Git的使用,git,gitlab,github

 5、进入计算机上创建的文件夹(我的是GitCode),右键选择->Git Bash Here 通过git init命令把这个目录变成Git可以管理的仓库(多了这么一个文件.git)

git init

git怎么连接gitlab,Git的使用,git,gitlab,github

git怎么连接gitlab,Git的使用,git,gitlab,github

 6、克隆项目

git clone 项目地址

git怎么连接gitlab,Git的使用,git,gitlab,github

git怎么连接gitlab,Git的使用,git,gitlab,github

git怎么连接gitlab,Git的使用,git,gitlab,github

 7、提交代码到Gitlab

把代码文件全部copy到刚刚克隆的项目文件夹中,右键选择->Git Bash Here 。

 第一步,用命令git add告诉Git,把文件添加到仓库:

git add 文件名 或者 git add .

(“git add“后加“.”则添加全部文件,也可以加"*.txt"表示添加全部需要提交的txt文件 )

执行上面的命令,没有任何显示,这就对了,Unix的哲学是“没有消息就是好消息”,说明添加成功。

第二步,用命令git commit告诉Git,把文件提交到仓库:

git commit -m "20231121"

简单解释一下git commit命令,-m后面输入的是本次提交的说明,可以输入任意内容,当然最好是有意义的,这样你就能从历史记录里方便地找到改动记录。

嫌麻烦不想输入-m "xxx"行不行?确实有办法可以这么干,但是强烈不建议你这么干,因为输入说明对自己对别人阅读都很重要。实在不想输入说明的童鞋请自行Google,我不告诉你这个参数。

git commit命令执行成功后会告诉你,1 file changed:1个文件被改动(我们新添加的readme.txt文件);2 insertions:插入了两行内容(readme.txt有两行内容)。

git commit -m "增加了一张地铁图"

为什么Git添加文件需要addcommit一共两步呢?因为commit可以一次提交很多文件,所以你可以多次add不同的文件。

最后输入以下命令,提交到gitlab

git push origin master 或者 git push 

git push origin master的意思就是上传本地当前分支代码到master分支。git push是上传本地所有分支代码到远程对应的分支上。


若在执行上述操作的时候,如果报错:

On branch master
nothing to commit, working tree clean
To git@gitlab.com:<your_username>/<your_repository>.git
 ! [rejected]        master -> master (fetch first)
error: failed to push some refs to 'git@gitlab.com:<your_username>/<your_repository>.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.


代表您本地的分支与远程分支的提交历史不一致,所以需要先将远程分支的更改合并到本地分支,然后再将本地更改推送到远程分支。

要解决这个问题,请按照以下步骤操作:

运行以下命令拉取远程分支的更改:

git pull origin master


这将合并远程分支的更改到您本地的分支。

如果在合并过程中出现冲突,请解决冲突并提交更改。

然后再次运行以下命令将更改推送到远程分支:

git push origin master


这样就能够成功地将更改推送到远程分支了。

如果以上还报错,如:

! [rejected]        master -> master (non-fast-forward)
error: failed to push some refs to 'git@gitlab.com:<your_username>/<your_repository>.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.


这个错误提示表明,远程分支比您本地分支更新,因此在推送更改之前,您需要先将远程分支上的更改合并到本地分支中。

为了解决此问题,您可以执行以下操作:

运行以下命令来拉取远程分支的更改:

git pull --rebase origin master


这将从远程分支下载并合并最新的更改,并使您的本地分支保持最新状态。

如果在合并过程中出现冲突,请解决冲突并提交更改。

然后再次运行以下命令将更改推送到远程分支:

git push origin master


就可以解决问题了!
 

 四、Git连接Github

连接github的操作和连接gitlab一摸一样。不再重述,如有问题,可以在评论区提问。文章来源地址https://www.toymoban.com/news/detail-835763.html

到了这里,关于【通俗易懂】git原理、安装及连接gitlab,github的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 通俗易懂生成对抗网络GAN原理(二)

    学习李宏毅机器学习课程总结。 前面学习了GAN的直观的介绍,现在学习GAN的基本理论。现在我们来学习GAN背后的理论。 假设x是一张图片(一个高维向量),如64 * 64 * 3的图片,每个图片都是高维空间中的一个点。为了画图方便,我们就画成二维上的点。在高维空间中,只有

    2024年02月12日
    浏览(46)
  • 实战 OSPF建立连接的过程7中状态?通俗易懂

    【OSPF的邻居状态有7种】 Down--Init--2-Way--Exstart--Exchange--Loading--Full OSPF邻居建立过程:A---B之间建立连接。 这里假设A的router ID为172.16.1.1,B的172.16.1.2  1.首先当双方没有开始建立关系之前,双方的状态为 DOWN 2.如下图,路由A想要和B建立关系,首先A会发送Hello报文(报文里面包含

    2024年02月09日
    浏览(35)
  • JVM原理:JVM运行时内存模型(通俗易懂)

    做了几年开发,平时除了写代码造BUG和修复BUG之外,偶尔也会遇到反馈说程序较慢问题,要对程序性能排查与优化就得更深入学习,学习JVM可以帮助我们加深对JAVA的理解,让我们具备一定的性能排查与调优的能力,无非就是让程序别太卡或者别挂了,那挂了目前我遇到的主要

    2024年02月08日
    浏览(55)
  • 202 vue2的响应式原理 通俗易懂!

    Object.defineProperty + 依赖追踪 。 在Vue实例化过程中,会 递归 地将 每个数据对象 的 属性 转换为 getter/setter ,并维护一个 依赖收集器(Dep) 。 每个属性 都有一个关联的 watcher ,当 数据发生 变化时 , watcher 会 被通知 并 更新视图 。 Vue 2.x 实现响应式数据: vue实例化 时,会

    2024年02月06日
    浏览(42)
  • 用通俗易懂的方式讲解:CatBoost 算法原理及案例

    前面已讲了7节,为方便大家学习,我总结在一起,无论是日常实践还是面试使用,都非常方便,喜欢记得收藏 用通俗易懂的方式讲解:逻辑回归模型及案例(Python 代码) 用通俗易懂的方式讲解:决策树模型及案例(Python 代码) 用通俗易懂的方式讲解: 随机森林及案例(

    2024年04月12日
    浏览(44)
  • SVM(支持向量机)进行分类的原理和python代码----通俗易懂

    SVM(支持向量机,Support Vector Machine)是一种非常流行的机器学习算法,可用于二分类和多分类问题。其基本思想是通过在不同类别的样本之间构建最大化分类间隔的线性或非线性超平面来实现分类。 SVM分类的基本步骤如下: 根据训练集数据,选取最优的超平面(通常为线性

    2024年02月11日
    浏览(56)
  • stable diffusion原理解读通俗易懂,史诗级万字爆肝长文!

    hello,大家好我是 Tian-Feng,今天介绍一些stable diffusion的原理,内容通俗易懂,因为我平时也玩Ai绘画嘛,所以就像写一篇文章说明它的原理,这篇文章写了真滴挺久的,如果对你有用的话,希望点个赞,谢谢。 stable diffusion作为Stability-AI开源图像生成模型,其出现也是不逊于

    2024年04月28日
    浏览(39)
  • 【通俗易懂】如何使用GitHub上传文件,如何用git在github上传文件

      目录 创建 GitHub 仓库 使用 Git 进行操作 步骤 1:初始化本地仓库 步骤 2:切换默认分支 步骤 3:连接到远程仓库 步骤 4:获取远程更改 步骤 5:添加文件到暂存区 步骤 6:提交更改 步骤 7:尝试使用 SSH 协议 步骤 8:上传项目 在现代软件开发中,版本控制是一个至关重要的

    2024年02月12日
    浏览(46)
  • 用通俗易懂的方式讲解:十分钟读懂 Stable Diffusion 运行原理

    AIGC 热潮正猛烈地席卷开来,可以说 Stable Diffusion 开源发布把 AI 图像生成提高了全新高度,特别是 ControlNet 和 T2I-Adapter 控制模块的提出进一步提高生成可控性,也在逐渐改变一部分行业的生产模式。惊艳其出色表现,也不禁好奇其背后技术。 之前写过一篇实战类的文章一文

    2024年01月21日
    浏览(58)
  • 用通俗易懂的方式讲解:一文讲透主流大语言模型的技术原理细节

    大家好,今天的文章分享三个方面的内容: 1、比较 LLaMA、ChatGLM、Falcon 等大语言模型的细节:tokenizer、位置编码、Layer Normalization、激活函数等。 2、大语言模型的分布式训练技术:数据并行、张量模型并行、流水线并行、3D 并行、零冗余优化器 ZeRO、CPU 卸载技术 ZeRo-offload、

    2024年01月16日
    浏览(57)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包