Git入门详细教程

这篇具有很好参考价值的文章主要介绍了Git入门详细教程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、Git概述🎇

Git入门详细教程,开发,git,github,gitlab

Git官网

Git是一个开源的分布式版本控制系统,用于跟踪文件的变化和协作开发。它允许多个开发者在同一项目中共同工作,并能够有效地管理代码的版本和历史记录。Git可以帮助开发团队更好地协作,追踪代码变更,并且可以在需要时轻松地回滚到之前的版本。

1.1 什么是版本控制

版本控制是一种管理文件变化的系统,它可以跟踪文件的修改、添加和删除,并记录这些变化的历史。版本控制系统可以帮助团队协作开发,确保每个人都在同一个代码基础上工作,并且可以轻松地查看和恢复文件的不同版本。它还可以提供分支和合并功能,允许多个开发者并行地修改代码,并将这些修改合并到一个共同的代码库中。版本控制系统可以提高开发效率,减少错误,并且有助于保持代码库的整洁和可维护性。

1.2 版本控制工具

一些常见的版本控制工具包括:

  1. Git(GPT-3.5)
  2. Subversion(SVN)
  3. Mercurial
  4. Perforce
  5. CVS(Concurrent Versions System)
  6. Bazaar

版本控制工具又分为集中式版本控制工具分布式版本控制工具

集中式版本控制工具

集中化的版本控制系统诸如CVS、SVN等,都有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新。多年以来,这已成为版本控制系统的标准做法。

这种做法带来了许多好处,每个人都可以在一定程度上看到项目中的其他人正在做些什么。而管理员也可以轻松掌控每个开发者的权限,并且管理一个集中化的版本控制系统,要远比在各个客户端上维护本地数据库来得轻松容易。

事分两面,有好有坏。这么做显而易见的缺点是中央服务器的单点故障。如果服务器宕机一小时,那么在这一小时内,谁都无法提交更新,也就无法协同工作

分布式版本控制工具

像Git这种分布式版本控制工具,客户端提取的不是最新版本的文件快照,而是把代码仓库完整地镜像下来(本地库)。这样任何一处协同工作用的文件发生故障,事后都可以用其他客户端的本地仓库进行恢复。因为每个客户端的每一次文件提取操作,实际上都是一次对整个文件仓库的完整备份。

分布式的版木控制系统山现之后,解决了集中式版木控制系统的缺陷:

  1. 服务器断网的情况下也可以进行开发(因为版本控制是在本地进行的)

  2. 每个客户端保存的也都是整个完整的项目(包含历史记录,更加安全)

1.3 Git简史

Git是由Linus Torvalds于2005年创立的分布式版本控制系统。Git的历史可以追溯到Linux内核开发过程中对版本控制系统的需求。在此之前,Linux内核的开发使用BitKeeper作为版本控制工具,但随着一些争议的出现,Linux社区需要一个开源的替代方案。

因此,Linus Torvalds开发了Git,并于2005年发布了首个版本。Git的设计目标是速度、数据完整性和分布式架构。它的发展得到了全球开发者社区的广泛支持,成为了目前最流行的版本控制系统之一。

Git的发展历程中,不断得到改进和扩展,吸引了全球开发者的参与,形成了一个庞大的生态系统。今天,Git已经成为了许多开源项目和商业项目的首选版本控制工具。

1.4 Git工作机制

Git入门详细教程,开发,git,github,gitlab

工作区指的是存放代码的磁盘位置

1.5 Git和代码托管中心

代码托管中心是基于网络服务器的远程代码仓库,一般我们简单称为远程库。

局域网:

  1. GitLab

互联网:

  1. GitHub
  2. Gitee

二、Git安装🎊

根据自己的电脑选择合适的Git版本,本机为windows10 64位,基本上无脑下一步安装就行

Git入门详细教程,开发,git,github,gitlab

选Vim就行,Notepad++也行

Git入门详细教程,开发,git,github,gitlab

其它的不用改,直接下一步,然后安装,安装完成后,鼠标右键会有Git

Git入门详细教程,开发,git,github,gitlab

git --version #查看git版本信息

Git入门详细教程,开发,git,github,gitlab

三、Git常用命令🎃

命令名称 作用
git config --global user.name 用户名 设置用户签名
git config --global user.email 邮箱 设置用户签名
git init 初始化本地库
git status 查看本地库状态
git add 文件名 添加到暂存区
git commit -m"日志信息" 文件名 提交到本地库
git reflog 查看历史记录
git reset–hard 版本号 版本号版本穿梭

3.1 设置签名

右键打开Git Bash输入

git config --global user.name "笑的像个child"

git config --global user.email "xxxxx@qq.com(自己的邮箱)"

Git入门详细教程,开发,git,github,gitlab

3.2 初始化本地库

创建一个git-demo文件夹(后面的实验都基于这个文件夹),并右键进入git bash,并输入初始化命令

git init

可以看到当前目录存在.git文件夹(看不到是因为它默认是隐藏的)

Git入门详细教程,开发,git,github,gitlab

3.3 查看本地库状态

git status

Git入门详细教程,开发,git,github,gitlab

新增文件

在git-demo下创建一个hello.txt文件,并在其中写入一行hello git,关闭并保存

再次查看本地库的状态,此时文件还只存在于工作区,并未添加至暂存区。

Git入门详细教程,开发,git,github,gitlab

3.4 添加暂存区

将文件添加至暂存区,输入命令

git add hello.txt 

也可以使用

git add .  # .的意思是添加所有文件至暂存区。

添加完成后,再次查看本地库状态

Git入门详细教程,开发,git,github,gitlab

此时,git已经追踪到了文件,此时如果你不想保存一个历史版本,是可以删除掉的。

git rm --cached hello.txt #将文件从暂存区删除(此时还没有记录历史版本,只有commit时才会有历史版本)

Git入门详细教程,开发,git,github,gitlab

此处只是做实验,测试删除暂存区的文件,删除后,重新添加至暂存区,为后面的实验做准备

3.5 提交本地库

git commit -m "第一次提交" hello.txt

Git入门详细教程,开发,git,github,gitlab

提交完成后,再次查看本地库状态,暂存区已经没有文件了

查看历史版本信息,

git reflog #查看历史版本

git log #可以查看更详细的提交日志

Git入门详细教程,开发,git,github,gitlab

3.6 修改文件

修改hello.txt中的内容(只在第一行新增了一段字符串),再查看本地库状态,提示文件被修改

Git入门详细教程,开发,git,github,gitlab

追踪修改添加至暂存区

Git入门详细教程,开发,git,github,gitlab

提交本地库,并查看历史版本详细日志

Git入门详细教程,开发,git,github,gitlab

提交文件后,提示一个文件被修改,一行新增,一行删除,是因为git中通过行来维护文件,修改一行,它无法表示,它是把修改之前的那一行删掉,再把修改之后的一行的内容新增进来。

3.7 历史版本

查看历史版本

git reflog #查看版本信息

git log #查看版本详细信息

Git入门详细教程,开发,git,github,gitlab

版本穿梭

穿梭回第一个版本,并查看文件,已经回到第一个版本

git reset --hard "历史版本号"

Git入门详细教程,开发,git,github,gitlab

穿梭回第二次提交的版本

Git入门详细教程,开发,git,github,gitlab

四、Git分支操作🎄

命令名称 作用
git branch 分支名 创建分支
git branch -v 查看分支
git checkout 分支名 切换分支
git merge 分支名 把指定的分支合并到当前分支上

4.1 分支概述

Git分支是在Git版本控制系统中用于并行开发和管理不同功能或版本的代码的重要概念。分支可以让开发者在不影响主线代码的情况下,独立地进行开发、测试和修改。在Git中,主要的分支是master(或main)分支,它包含了项目的主要代码。除了主分支外,开发者可以创建其他分支,比如feature分支用于开发新功能,bugfix分支用于修复bug,release分支用于发布版本等。

分支的优势在于它能够提供一种安全的方式来进行并行开发,避免了直接在主分支上进行修改可能带来的风险。同时,分支也可以帮助团队协作,每个成员可以在自己的分支上进行开发,最后合并到主分支上。

在Git中,创建、切换、合并、删除分支都是非常简单的操作,开发者可以根据需要随时创建新的分支,并在不同分支之间切换,以便进行不同的工作。因此,合理地使用分支可以帮助开发团队更高效地进行代码管理和开发工作。

Git入门详细教程,开发,git,github,gitlab

4.2 查看分支

git branch -v #查看当前存在的的分支

Git入门详细教程,开发,git,github,gitlab

4.3 创建分支

创建hot-fix分支后,再查看当存在的分支(当前还是在master分支)

git branch "分支名"

Git入门详细教程,开发,git,github,gitlab

4.4 切换分支

从master分支切换到hot-fix分支上

git checkout hot-fix

Git入门详细教程,开发,git,github,gitlab

分支已从master分支切换到hot-fix分支

4.5 修改分支

当前在hot-fix分支上,修改hello.txt文件,并将其提交本地库

Git入门详细教程,开发,git,github,gitlab

4.6 分支合并

正常合并

git merge hot-fix

Git入门详细教程,开发,git,github,gitlab

冲突合并

**冲突产生的原因:**合并分支时,两个分支在同一个文件的同一个位置有两套完全不同的修改。Git无法替我们决定使用哪一个。必须人为决定新代码内容

先在master分支下修改文件,然后切换到hot-fix分支下,然后再在同一行修改文件(修改内容可以随意),然后切换回master分支合并hot-fix分支

Git入门详细教程,开发,git,github,gitlab

查看本地库状态

Git入门详细教程,开发,git,github,gitlab

此时需要手动合并代码

查看hello.txt文件

Git入门详细教程,开发,git,github,gitlab

解决冲突

Git入门详细教程,开发,git,github,gitlab

将特殊符号删除,然后保留需要的片段,此处两段同时保留

重新提交文件

Git入门详细教程,开发,git,github,gitlab

此时commit不能带文件名!!!不能带文件名!!!不能带文件名!!!

五、团队协作🎎

5.1 团队协作机制

团队内协作

Git入门详细教程,开发,git,github,gitlab

简述:A和B是同一团队的成员,A将代码push至代码远程仓库,B可以将其clone下来然后修改,再push到远程仓库,A就可以pull下B修改的部分代码。

跨团队协作

Git入门详细教程,开发,git,github,gitlab

A和C是同一开源项目的团队成员,B并不是,B觉得A的团队写的代码不够好,然后就fork了一份完整的代码(整个库),然后clone至本地,B将其修改优化后又push到他的远程仓库,然后发起pull request,开源团队进行审核,觉得B写的很好,就将他的代码进行merge,然后开源团队又将自己的代码进行更新。

六、Gitee操作🎨

6.1 推送本地库到远程库

GitHub这两天打开的实在是太慢了,我梯子又过期了,在此就使用Gitee进行演示了,都大差不差。

进入Gitee的个人主页点击创建

Git入门详细教程,开发,git,github,gitlab

填写仓库基本信息,然后创建

Git入门详细教程,开发,git,github,gitlab

设置别名

git remote add "别名" "链接"

Git入门详细教程,开发,git,github,gitlab

推送至远程仓库

git push git-test master

Git入门详细教程,开发,git,github,gitlab

在本地修改了文件后还是先将其提交暂存区,本地库,然后再push一下就可以了

查看gitee仓库存在推送的文件

Git入门详细教程,开发,git,github,gitlab

6.2 拉取远程库到本地

此时远程库的文件内容和本地的是不一致的

Git入门详细教程,开发,git,github,gitlab

在git-demo中打开git,输入拉取的命令

git pull "远程仓库的别名或链接" "分支名"

Git入门详细教程,开发,git,github,gitlab

此时,本地的hello.txt文件已经更新和远程库的文件内容一致

6.3 克隆远程库到本地库

拉取远程库

Git入门详细教程,开发,git,github,gitlab

先在自己电脑上随意找一个没有文件的位置,然后打开git

git clone "复制的链接"

Git入门详细教程,开发,git,github,gitlab

仓库,文件都克隆成功

Git入门详细教程,开发,git,github,gitlab

其它的项目都是这样,复制链接然后clone

七、自建GitLab代码托管平台🌭

Git入门详细教程,开发,git,github,gitlab

GitLab官网

GitLab的历史可以追溯到2011年,当时由荷兰的程序员Sytske Sijbrandij和Dmitriy Zaporozhets共同创建了GitLab。最初,GitLab是作为一个开源项目发布的,旨在提供一个基于Web的Git仓库管理工具,以及一系列的协作工具,例如问题跟踪、持续集成和部署等。

随着时间的推移,GitLab逐渐获得了越来越多的用户和开发者的支持。2013年,GitLab发布了第一个企业版,为企业用户提供了更多的高级功能和支持服务。2015年,GitLab发布了自托管版本,使用户可以在自己的服务器上部署和运行GitLab。

GitLab持续不断地进行更新和改进,增加了许多新的功能和工具,如持续集成、持续部署、代码审查等,使其成为一个功能强大的代码管理平台。2017年,GitLab完成了一轮高达2000万美元的融资,进一步加速了其发展。

至今,GitLab已经成为了全球范围内广受欢迎的代码托管和协作工具,拥有庞大的用户群和开发者社区。它的开源版本和企业版都得到了广泛的应用,为软件开发团队提供了全面的解决方案。GitLab的发展历程充分展示了其不断创新和改进的精神,以及对用户需求的不断关注和满足。

7.1 服务器安装GitLab

GitLab下载安装_GitLab最新中文官网免费版下载-极狐GitLab

本人使用的是一台Centos7的服务器

下载/安装极狐GitLab

curl -fsSL https://packages.gitlab.cn/repository/raw/scripts/setup.sh | /bin/bash

Git入门详细教程,开发,git,github,gitlab

开始安装

EXTERNAL_URL="http://gitlab.example.com" yum install -y gitlab-jh

此处"http://gitlab.example.com"修改为服务器的地址并指定端口号

建议大家使用内存大一点的服务器,我的已经挂了,后续演示放在下一篇文章😅😅😅

Git入门详细教程,开发,git,github,gitlab

参考资料

01_尚硅谷_Git_课程介绍_哔哩哔哩_bilibili文章来源地址https://www.toymoban.com/news/detail-805971.html

到了这里,关于Git入门详细教程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • github使用教程(包括git命令、git Desktop桌面端)——从安装到入门,适合小白

    2023.12.09持续更新中 计划再更新一些git软件命令以及git Desktop使用方法 众所周知,github上有着丰富且优秀的项目以及学习资源,对于想从该平台上学习生信的人来说,可以提供很大帮助。 因此,本文主要是想记录一下自己学习的步骤(记录向),同时分享给有需要帮助的人。

    2024年04月13日
    浏览(52)
  • Git GitHub GitLab

    1、Git Git是一个开源的分布式版本控制系统,是一种工具软件,用于代码的存储和版本控制。 2、GitHub GitHub是一个基于Git实现的代码托管平台,一般开源的代码放在github,程序员能够在这互相交流学习,公司代码不会放在这上面。 3、GitLab GitLab也是一个基于Git实现的代码托管

    2024年02月09日
    浏览(54)
  • Git、Gitee、Github、Gitlab区别与 Git搭建

    Git: 本地软件,无需联网即可使用,实现 本地代码 的管理。         分布式版本控制系统,是一种工具,用于代码的存储和版本控制。         将 本地文件 通过一定的操作将其同步上传到 Github或Gitee Gitee :是一家中国公司, GitHub 相当于 云服务器 ,这个云服务器是国外

    2024年02月11日
    浏览(46)
  • Git入门到精通全套教程(涵盖GitHub\Gitee码云)

    一个小时搞定Git 对应的视频教程讲解: Git入门到精通全套教程(涵盖GitHubGitee码云)_哔哩哔哩_bilibili 目录 1. 为什么要使用版本控制软件 2. 市场上的版本控制软件 3. Git简介 3.1Git简介 3.2集中式vs分布式 3.3作用 二、Git的使用 1. 安装Git 2. Git推送内容到远程仓库的流程 3. Git命令

    2024年02月11日
    浏览(57)
  • 「详细教程」使用git将本地项目上传至Github仓库(MacOS为例)

    前言:最近需要将自己的代码开源至自己的Github仓库,然而发现并没有一键上传文件夹的选项,于是参考现有教程进行了实践,成功✌️以下是详细步骤。 Tips:在文章录用之后,小伙伴们可以选择将自己的代码开源,便于同行更加方便地开展学术研究。 在 https://github.com/j

    2024年02月16日
    浏览(70)
  • Git入门详细教程

    Git官网 Git是一个开源的 分布式版本控制系统 ,用于跟踪文件的变化和协作开发。它允许多个开发者在同一项目中共同工作,并能够有效地管理代码的版本和历史记录。Git可以帮助开发团队更好地协作,追踪代码变更,并且可以在需要时轻松地回滚到之前的版本。 版本控制是

    2024年01月19日
    浏览(49)
  • Git、GitHub和GitLab的区别

    Git官网 Git 是一个 分布式 的版本控制系统。 版本控制系统 是一种用于记录一个或多个文件内容变化,方便查阅特定版本修订情况的系统。 没有使用版本控制系统之前,如果需要记录同一份文件不同版本的修改,可能会以“file_v1”、“file_v2”、“file_v3”等命名方式来保存不

    2024年02月04日
    浏览(39)
  • Git同时配置Github和Gitlab

    电脑的git需要同时管理Github上自己的代码仓库和Gitlab的公司的代码仓库,所以记录同时配置两者的步骤。 第一步、清除已有的全局配置(我之前只有github的配置) git config --global --unset user.name git config --global --unset user.email 第二步、分别生成两个SSH Key,注意要命名成不同的名

    2024年02月01日
    浏览(38)
  • 史上最详细教程------使用git命令将代码上传到GitHub(一看就会)

    计算机专业的朋友们想必肯定听说过git和GitHub这两个名词吧. git是什么呢? 简单来说:git是一款最流行的版本控制工具.通过git可以用来进行代码的提交 更新 下载等. GitHub是什么呢? GitHub是全球最大的代码托管平台,全球的开发人员将自己的代码托管给这个平台.上面有很多开源的

    2024年02月09日
    浏览(79)
  • 【详细教程】关于如何使用Git&GitHub的基本操作汇总&GitHub的密钥配置 ->(个人学习记录笔记)

    点击 官网链接 后,进入Git官网,下载安装包 然后根据系统类型进行下载,一般为windows 一般选择64位的安装器版本 下载好后开始安装 点击Next 默认即可,Next 默认即可,Next Next Next Next Next Next Next Next Next Next install即可 我们在桌面随便创建一个文件夹例如code 进入code文件夹 鼠

    2024年02月06日
    浏览(57)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包