【Git详解大全】

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

1. Git 概述

Git是一个免费的开源的分布式版本控制系统,可以快速高效的处理从大型到小型的各种项目

1.1 版本控制

版本控制就是一种记录文件内容的变化,方便后面查询阅读之前文件修改情况。
可以记录文件修改历史记录,方便让用户可以看到历史版本,进行切换。
【Git详解大全】

从个人开发到团队开发:

如果不借助版本控制,那么小蓝的开发会覆盖掉小红的开发。

【Git详解大全】

1.2集中式版本控制VS分布式版本控制

  • 集中式版本控制,例如CVS、VSS都有一个单一的集中管理的服务器,保存所有文件的修改版本,可以通过客户端与服务器连接,来获取最新的代码。

  • 优点:每个人都能看到,项目的其他人正在作什么。

  • 缺点:如果中央服务器宕机。那么,所有的人都无法提交更新,也无法协同工作。
    【Git详解大全】

    当A修改完后,提交到服务器,服务器就会有A1版本

    B可以获取A1版本,进行修改,修改后提交到服务器,此时服务器就会多一个B1版本

  • 分布式版本控制Git工具,客户端提取的不是最新版的文件快照,而是把代码的仓库,完整的镜像到本地库 。这样所有的操作都可以在本地库完整,就算是一起协同工作的文件发生故障,我都可以通过客户端的本地库进行恢复。(每个客户端的每一次文件提取,实际上都是对整个仓库的完整备份)

  • 优点:服务器宕机的情况下,也可以进行并发操作。(因为版本控制是在本地进行,相当于每个客户端,同样也是服务器

  • 每个客户端保存的都是整个完整的项目(包含历史记录)

【Git详解大全】

2. 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 版本号 版本穿梭

2.1 初始化本地库

作用:为了让git管理你本地文件,所以要初始化本地库

git init

会生成一个.git的文件(隐藏文件)

###2.2 查看本地库状态

git status

空文件:

【Git详解大全】

On branch master : git默认是master分支

No commits yet     : 没有提交

nothing to commit : 没有提交的文件

当创建了一个hello.txt文件后:

【Git详解大全】

  • 有未被跟踪的文件,hello.txt(只有git add.后才会被git跟踪)

  • 红色字体代表未被跟踪

2.3 添加到暂存区

git add 文件名 或者 git add .

【Git详解大全】

  • 文件变成绿色代表已经被跟踪,目前出去暂存区(暂存区的文件可以删除修改)
git rm --cached hello.txt ----------将暂存区的文件删除,但是本地文件仍然存在

2.4 提交本地库

git commit -m "你的信息" -----形成你的历史版本,就不能删除了

【Git详解大全】

git reflog -----查看版本号
git log   ------查看详细的版本号

【Git详解大全】

日志:在master分支下的,目前指向第一次版本提交

2.5 修改文件

【Git详解大全】

文件修改,并且未被跟踪。在将文件推送到本地库,进行日志查看,此时指针指向第二次版本

【Git详解大全】

2.7 历史版本

git reflog                (查看版本信息)
git log                 (查看详细的版本信息)
git reset --hard 版本号      (版本切换)

【Git详解大全】

git控制版本不是赋值粘贴给你很多副本,而是在本地库的内存中记录了很多历史版本信息,通过指针来进行版本之间的切换的

3. 分支操作

3.1 什么是分支

  • 什么是分支

    在版本控制的过程中,同时进行多个任务,为每个任务设置一个单独分支,就算该分支任务失败了,也不会影响到主分支任务,直接删掉就可以。(也就相当于在一个副本上进行操作)

【Git详解大全】

优点:

  • 同时进行多个功能的开发,提高开发效率

  • 各个分钟独立进行。如果一个分支开发失败,不会对其他分支有任何影响,直接删除就可以

3.2 分支的操作

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

【Git详解大全】

  • 增加分支
  git branch 分支名

【Git详解大全】

  • 切换分支
git checkout hot-fix

【Git详解大全】

  • 在hot-fix分支上修改文件,进行提交到本地库

【Git详解大全】

  • 分支合并
git merge 分支名

合并分支,将该分支合并到当前分支上,例如你想将hot-fix分支合并到master分支上,你就需要首先来到master指针上。

【Git详解大全】

  • 合并分支(冲突合并)

原因:在合分支的情况下,俩个分支在同一个文件的同一个位置有俩套完全不同的修改.Git无法代替我们决定哪一个,所以必须人为决定新代码的内容

如果只是一个人进行修改(hot-fix),而master并没有修改,那么此时不会出现合并冲突。

【Git详解大全】

【Git详解大全】

  • 修改完后,仍然需要将hello.txt放到暂存区,并且需要提交本地库,而且这次提交本地库git commit(命令时不能带文件名)

  • 合并合并,只会修改master分支,而hot-fix分支不会改变

    master、hot-fix其实都是指向具体版本的记录的指针。当前的所在的分支,其实是由HEAD决定的、所以创建分支,实际上就是多创建一个指针

    HEAD如果指向master,那么我们现在就是还在master分支上。

    HEAD如果指向hot-fix,那么我们现在就是在hot-fix分支上

    HEAD指针是指向具体哪个分支的,而master,或者hot-fix指针是具体指向哪一个版本的。

4. Git团队协作

因为平时git commit是在本地仓库进行合作,例如程序员A在自己的pc上有v1,v2,v3三个版本。程序员B在自己的pc上也有v1,v2,v3三个版本。此时我们就需要代码托管中心(远程库)。

Git版本控制,都是在本地库进行的(分布式版本控制工具)

团队内协作:

【Git详解大全】

跨团队协作:

【Git详解大全】

5.GitHub远程仓库的操作

命令名称 作用
git remove -v 查看当前所有远程地址的别名
git remote add 别名 远程地址 起别名
git push 别名 分支 推送本地分支上的内容到远程仓库
git clone 远程地址 将远程仓库的内容克隆到本地
git pull 远程库地址别名、远程分支名 将远程仓库对于分支最新内容拉下来后与当前本地分支直接合并
  • 创建远程地址别名(链接太长了,起一个别名,以后进行拉去(pull)、克隆(clone)、推送(push)的时候就可以用别名)

    git remote -v  查看当前所有远程地址的别名
    
    git remote add 别名 远程地址
    

5.1 将本地库推送到远程库

git push 别名 master   (如果不用别名的话,就用链接)
  1. 创建库后会有Https和SSH俩个链接,一般选择SSH,速度快。不需要输入密码
  2. 修改别名
  3. 开始push推送

【Git详解大全】

5.2 拉取远程库到本地库

当远程库修改了,我也想同步到本地库,此时用pull

git pull 别名 master   (如果不用别名的话,就用链接)

【Git详解大全】

此时本地库代码和远程库代码已经同步了

5.3 克隆远程库到本地库

git clone 需要克隆的链接

【Git详解大全】

克隆做了三件事:

  • 拉取代码

  • 初始化本地库

  • 创建别名(默认别名是origin

【Git详解大全】文章来源地址https://www.toymoban.com/news/detail-418194.html

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

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

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

相关文章

  • 【linux命令讲解大全】012.Git:分布式版本控制系统的先驱和常用命令清单(一)

    Git是目前世界上最先进的分布式版本控制系统。 很多人都知道,Linus在1991年创建了开源的Linux,从此,Linux系统不断发展,已经成为最大的服务器系统软件了。 Linus虽然创建了Linux,但Linux的壮大是靠全世界热心的志愿者参与的,这么多人在世界各地为Linux编写代码,那Linux的代

    2024年02月10日
    浏览(32)
  • 【linux命令讲解大全】015 .Git:分布式版本控制系统的先驱和常用命令清单(四)

    删除远程分支: 删除本地分支: 将本地分支提交到远程主机中: 当远程分支已被删除,但本地仍存在同名分支时,使用以下命令自动清理: 将分支合并到当前分支: 重命名分支: 列出本地分支: 列出远程分支: 列出所有分支: 查看各个分支最后一个提交对象的信息:

    2024年02月10日
    浏览(55)
  • Git是一个分布式版本控制系统 一.2

    Git是一个分布式版本控制系统,用于跟踪和管理代码的变化。它最初由Linus Torvalds于2005年创建,并成为开源社区中最流行的版本控制系统之一。 Git的主要特点包括: 分布式:每个开发者都可以在本地拥有完整的代码仓库,并可以独立地进行开发和版本控制。这意味着即使在

    2024年03月13日
    浏览(38)
  • Hadoop是一个开源的分布式处理系统,主要用于处理和存储大量数据

    Hadoop是一个开源的分布式处理系统,主要用于处理和存储大量数据。它是由Apache软件基金会开发的,现在已经成为大数据领域中广泛使用的技术之一。 Hadoop架构 Hadoop的架构包括以下几个主要组件: Hadoop Distributed File System (HDFS) : HDFS是Hadoop的核心组件之一,它是一个分布式文

    2024年02月04日
    浏览(41)
  • 分布式版本控制系统git详解

    是目前世界上最先进的分布式版本控制系统 git命令 很多人都知道,Linus在1991年创建了开源的Linux,从此,Linux系统不断发展,已经成为最大的服务器系统软件了。 Linus虽然创建了Linux,但Linux的壮大是靠全世界热心的志愿者参与的,这么多人在世界各地为Linux编写代码,那Lin

    2024年02月15日
    浏览(33)
  • 【Xiao.Lei】- Git详解:深入理解分布式版本控制

    在现代软件开发中,版本控制是一个至关重要的方面。Git,作为最流行的分布式版本控制系统之一,为开发者提供了高效、灵活的协作和版本管理工具。本文将深入探讨Git的各个方面,包括基础概念、工作流程、分支管理、团队协作等,并结合详细的命令说明,旨在帮助读者

    2024年01月21日
    浏览(56)
  • IoT DC3 是一个基于 Spring Cloud 的开源的、分布式的物联网(IoT)平台本地部署步骤

    ​​ 必要软件环境 进入原网页# 务必保证至少需要给 docker 分配:1 核 CPU 以及 4G 以上的运行内存! JDK : 推荐使用 Oracle JDK 1.8 或者 OpenJDK8 ,理论来说其他版本也行; Maven : 推荐使用 Maven 3.8 ,理论来说其他版本也行; IDE : IntelliJ IDEA 或者 Eclipse ,理论来说其他 Java IDE 也行;

    2024年02月11日
    浏览(33)
  • PyTorch 分布式概述

    这是 torch.distributed 包的概述页面。 由于在不同位置添加了越来越多的文档,示例和教程,因此不清楚要针对特定​​问题咨询哪个文档或教程,或者阅读这些内容的最佳顺序是什么。 该页面的目的是通过将文档分类为不同的主题并简要描述每个主题来解决此问题。 如果这是

    2024年02月13日
    浏览(37)
  • 分布式链路追踪概述

    随着系统设计变得日趋复杂,越来越多的组件开始走向分布式化,如微服务、分布式数据库、分布式缓存等,使得后台服务构成了一种复杂的分布式网络。往往前端的一个请求需要经过多个微服务、跨越多个数据中心才能最终获取到结果,如下图 并且随着业务的不断扩张,服

    2024年02月13日
    浏览(31)
  • 分布式系统(Distributed Systems)概述

    随着互联网的持续发展(以Web应用为代表)、计算机应用的深入、分布式系统构建技术的日益成熟,分布式系统逐渐深入到人们的日常生活,并渗透到社会、经济、文化生活的各个方面。现如今,分布式系统已成为主流的软件系统。本文主要介绍下分布式系统的特征和在进行分

    2024年02月14日
    浏览(29)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包