Git的简述

2023-11-05

Git

Git概述

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

Git 易于学习,占地面积小,性能极快。 它具有廉价的本地库(Git的本地库是在我们的本地磁盘上),方便的暂存区域和多个工作流分支等特性。其性能优于 Subversion、CVS、Perforce 和 ClearCase 等版本控制工具

版本控制工具

集中式管理控制工具

CVS、SVN(Subversion)、VSS…

集中化的版本控制像SVN、CVS等,都有一个单一的集中管理的服务器,所有人都把这个代码维护到中央服务器中,协同工作的人们都通过本地客户端连到这台服务器,从这个中央服务器中获取到最新的文件,就可以对这个文件进行修改,在把代码提交到中央服务器中

好处:大家都看的都是同一个项目,同一个代码。每个人都可以,看到项目中的其他人正在做些什么。而管理员也可以轻松掌控每个开发者的权限

坏处:中央服务器有个致命的缺点单点故障。如果服务器宕机一小时,那么在这一小时内,谁都无法提交更新,也就无法协同工作。

分步式管理控制工具

Git、Mercurial、Bazaar、Darcs…

分步式管理控制每台程序员的个人电脑,就是一个代码库,就可以在自己的电脑上做版本控制。

A程序做了一个v1的版本就可以推送到远程库中,B程序员用客户端连接远程库做这个代码的克隆到本地库,基于自己的本地库做版本控制,B程序员修改之后将修改的代码推送到远程库中,保证远程库中的代码永远是最新的

好处:分步式的版本控制,解决了集中式版本控制的系统缺陷

  1. 服务器断网的情况下也可以进行开发(因为版本控制的在本地进行开发的)
  2. 每个客户端保存的都是整个的完整项目(包括修改的历史记录,这样更加安全)

控制机制

在这里插入图片描述

Git和代码托管中心

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

局域网:GitLab

互联网:GitHub(外网)和 Gitee 码云(国内网站)

安装Git软件

镜像网站(选择自己需要的版本)

https://registry.npmmirror.com/binary.html?path=git-for-windows/

安装好后打开git-bash.exe
在这里插入图片描述

Git常用命令

命令名称 作用
git config --global user.name 用户名 设置用户签名
git config --global user.email 邮箱 设置用户邮箱
git init 初始化本地库
git status 查看本地库状态
git add 文件名 添加到暂存区
git commit -m “日志信息” 文件名` 提交到本地库
git reflog 查看历史记录
git log 查看详细历史记录
git reset --hard 版本号 版本穿梭(切换版本)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Git的简述 的相关文章

  • 按时间顺序将多个文件夹提交到 git 中

    我有数百个网站备份 每个文件夹一个 我想将它们放入 git 存储库中 每个备份作为一个版本 这些变化主要涉及图像文件和每天 2 个数据库备份 大小约为 25 GB 并且不断增加 有没有办法告诉 git 获取其中一个文件夹并将其提交到存储库中
  • svn propget svn:忽略。什么也没返回,但 svn 显然忽略了我的文件

    我正在尝试将现有的 iPhone 项目添加到 unfuddle com 上的 subversion 帐户 除了一些被忽略的 a 文件之外 一切看起来都很顺利 我知道它们被忽略 因为除非我使用 no ignore 标志 否则我看不到它们处于
  • 我在哪里? *(无分支)

    我已经熟悉了创建 合并和删除分支 我想知道我在哪里 这样我就不会将工作提交到错误的分支 我用git branch a看看我有哪些分支 我认为星号 显示我当前所在的分支 当我得到以下信息时 这意味着什么 no branch master or
  • Git post-receive - 如何检查推送的分支是否与主分支合并

    在我们的团队中 我们通常将所有任务推送到单独的分支中 然后发布经理审查这些分支并将它们合并到 主 分支中 有时团队成员忘记将他们的分支与主分支合并 在推送之前 所以我想做的是 在用户推送后输出一条消息 请与主分支合并 我想我需要检查一些内容
  • 从自己的 gitlab 服务器安装节点模块

    我想从我们的 gitlab 服务器安装节点模块 这是存储库的链接 http ABCD GITLAB myGroup myNodeModule git http ABCD GITLAB myGroup myNodeModule git 根据n
  • git 如何查找分支源自的提交哈希

    假设我从主分支分支到主题分支 然后在主题分支上进行了一些提交 是否有命令告诉我主题分支源自的主分支上的提交哈希 理想情况下 我不必知道我做了多少次提交 试图避免 HEAD 5 我已经用谷歌搜索过 但似乎无法找到答案 谢谢 use git m
  • 如何关闭分支而不将其从 git 的历史记录中删除?

    我想提交并关闭其分支 而不将其从历史中删除 有了水银我会commit close branch then update转到上一个 然后继续工作 有了 git 我很困惑 没有与 Git 中关闭分支完全相同的方法 因为 Git 分支比 Merc
  • 自动同步两个 git 存储库

    是否可以保持同步两个 Github 存储库 远程 的特定文件夹 有两个 github 存储库 repoA 和 repoB 这两个存储库都有名为 ABC 的文件夹以及其他独特的文件夹 如果repoA的文件夹ABC中的任何文件有更新 我想自动更
  • 为什么 git-svn 应该积极搜索旧历史?

    当我运行 git svn clone s 时发生了一些奇怪的事情 尽管以下信息告诉我们不要惊慌 但我想知道为什么会出现这种 svn 错误 为什么这个路径不存在 是被别人删除了吗 如果是 为什么 git svn 应该积极搜索旧历史记录 Ini
  • git-svn 如何知道要提交到哪个分支?

    我的存储库是 SVN 我使用 git 进行所有开发 我们有一个标准布局 我用以下命令初始化了我的本地存储库git svn init s
  • 在 Windows 上使用 Git - 意外丢失了大量工作。我可以拿回来吗?

    我很困惑 我想我已经失去了几个小时的工作时间 我之前在 Git 中编辑了一个文件 我保存了它 但没有提交 我确实做了一些其他文件更改 并提交并推送了它们 然而 有一个文件被搞乱了 所以我单击了最后一次成功的提交 然后按了 回滚到此提交 令我
  • SSL 适用于浏览器、wget 和curl,但不适用于 git

    我有一个网站 用于托管 redmine 和几个 git 存储库 这非常适合 http 但我无法使用 https 进行克隆 即 git clone http mysite com git test git 工作正常 但是 git clone
  • 为什么 Jenkins SVN 插件在连接到我的 VisualSVN 服务器时会出现错误 E170001?

    我对 VisualSVN 服务器的了解 它支持 Windows Active Directory 身份验证和使用我的 Windows 用户名和密码的 基本 身份验证 我可以成功使用 TortoiseSVN CollabNet 和 Mac O
  • 为什么 Github API 只返回前 100 个监视的存储库?

    我正在 Github 上查看 392 个存储库 然而 Github API 只返回 100 有人知道为什么吗 https github com api v2 json repos watched trivektor https github
  • 如何使用 git --word-diff 显示空格差异?

    为了说明问题 参见diff https github com nim lang Nim commit 47c7fd037ed28b7de3d120b003d059d30e18f128 diff split diff 8af935b2312d
  • 使用 TFS REST API 获取 Git 提交的最新关联工作项

    我正在尝试获取关联的工作项使用 TFS REST API 进行 GIT 提交 https www visualstudio com en us docs integrate api git commits 我的请求 URL 如下所示 htt
  • Github 操作错误地认为变量是秘密,因此不设置输出

    我的工作流程文件中的一个步骤将返回我的 aws 账户中 EC2 实例的一些 ID 然后我将这些 ID 设置为 github 输出 以便在我的工作流程文件中的其他作业中使用 我在许多工作流程中都这样做了 步骤将返回如下内容 i 0d945b0
  • 如何在颠覆合并期间忽略文件夹

    我有一大堆更改需要合并到我的分支中 但我想在合并过程中忽略特定文件夹 是否可以使用 Subversion 来做到这一点 如果是这样那我该怎么办呢 编辑 我想忽略的文件夹位于存储库中 但在合并期间我不会对此文件夹进行更改 您可以像平常一样进行
  • 检查 Git 中是否需要 pull

    如何检查远程存储库是否已更改并且需要拉取 现在我使用这个简单的脚本 git pull dry run grep q v Already up to date changed 1 但它比较重 有没有更好的办法 理想的解决方案是检查所有远程分支
  • 为什么cherry-pick 告诉我所有行都已更改?

    Updated 考虑文件 abc 在提交 A 和 B 中都相同 begin 123 456 789 klm end 在A中 我们重构第一行123 gt AAA并在结果之上选择 B Git 告诉我们all lines in the file

随机推荐

  • ChatGPT国内镜像站初体验:聊天、Python代码生成等

    ChatGPT国内镜像站初体验 聊天 Python代码生成 本文获得CSDN质量评分 92 学习的细节是欢悦的历程 Python 官网 https www python org Free 大咖免费 圣经 教程 python 完全自学教程 不
  • 计算模型的GFLOPs和参数量 & 举例VGG16和DETR

    近期忙于写论文 分享一下论文中表格数据的计算方法 目录 一 FLOPS FLOPs和GFLOPs的概念 二 计算VGG16的GFLOPs和参数量 三 计算DETR的GFLOPs和参数量 四 整理数据表格 一 FLOPS FLOPs和GFLO
  • python画填色图时,如何让分层的填色变为渐变色

    python画填色图时 如何让分层的填色变为渐变色 注 自己用来备忘的 以画海洋的地形图为例 数据为一个三维数据 有经度 lon 纬度 lat 高度 z 三个变量 我们绘制的地形图为了美观 只想让colobar显示 100 0之间的高度 我
  • 深入解析java.lang.ClassNotFoundException异常

    1 引言 在Java开发中 我们经常会遇到各种异常 其中 java lang ClassNotFoundException异常是一种常见的异常 本文将深入解析这个异常的定义 作用 产生原因以及常见场景 1 1 介绍ClassNotFound
  • docker elastic search 设置密码,修改密码

    设置密码 1 在docker compose 中添加配置 开启验证功能 在docker compose xml 的 environment 项下添加 xpack security enabled true 2 进入docker 容器 3 随
  • (2)Hibernate实现CRUD

    HibernateUtil package util import org hibernate Session import org hibernate SessionFactory import org hibernate cfg Con
  • Kafka压力测试(官方自带)

    1 Kafka压测 用Kafka官方自带的脚本 对Kafka进行压测 Kafka压测时 可以查看到哪个地方出现了瓶颈 CPU 内存 网络IO 一般都是网络IO达到瓶颈 kafka consumer perf test sh kafka pr
  • Django Orm 查询总结

    Django提供了一套非常方便的类似lingQ的通过对象调用的方式操作数据库表的Orm框架 关于Django Orm的操作方式做下整理 Django Orm 操作主要分为以下几类 增 向表内插入一条数据 删 删除表内数据 物理删除 改 up
  • [leetcode] 1675. 数组的最小偏移量

    题目链接 来源 力扣 LeetCode 链接 https leetcode cn problems minimize deviation in array 著作权归领扣网络所有 商业转载请联系官方授权 非商业转载请注明出处 示例 1 输入
  • AMR 文件解析及编解码流程

    CONTENT AMR简介 AMR 话音质量评定 AMR 文件结构解析 AMR 帧结构解析 AMR 帧读取算法 AMR 解码原理及流程 AMR 模式选择自适应机制 一 AMR 简介 基于新的网络和新的要求 无论是从节省传输频带资源 还是保持
  • Java学习之线程安全问题,关于synchronized 和 Lock 的使用

    1 Lock 解决线程安全问题的方式三 Lock锁 JDK5 0新加 synchronized 与 Lock的区别 相同点 都是解决线程的安全问题 不同点 1 Lock是显示锁 手动开启和关闭锁 synchronized是隐式锁 出了 作用
  • 智能算法系列之遗传算法

    本博客封面由ChatGPT Midjourney共同创作而成 文章目录 前言 1 算法思想 2 细节梳理 2 1 DAN编码 2 2 种群初始化及超参选择 2 3 适应度函数 2 4 选择 交叉 交配 与变异 2 5 终止条件 3 算法实现
  • MDK 出现#68-D: integer conversion resulted in a change of sign

    出现这种情况 原因如下 1 出现了无符号转换成有符号数 但是数据的最高位是符号位 可能会导致数字的值突变 2 有符号数被转换成了无符号数 经常在代码中会定义状态 错误的宏定义 出现 1等等负数 然而程序的返回值类型是 uint8 t uin
  • mfc 窗口初始化以及销毁过程

    1 模式对话框的创建过程 1 DoModal 重载函数 重载DoModal 成员函数 2 PreSubclassWindow 重载函数 允许首先子分类一个窗口 3 OnCreate 消息响应函数 响应WM CREATE消息 发送此消息以告诉
  • 机器学习实战 决策树(附数据集)

    运行环境 Anaconda Jupyter Notebook Python版本为 3 6 6 数据集 lense txt 提取码 9wsp 1 决策树 决策树也是最经常使用的数据挖掘算法 长方形代表判断模块 decision block 椭
  • 网络安全实验室4.注入关

    4 注入关 1 最简单的SQL注入 url http lab1 xseclab com sqli2 3265b4852c13383560327d1c31550b60 index php 查看源代码 登录名为admin 最简单的SQL注入 登
  • Could not autowire. No beans of 'OrderService' type found. less... (Ctrl+F1) Inspection info:Checks

    解决方法 步骤如下 把最后一个 去掉 点击ok就好了 当然还有一点就是 sevice类的前面加上 service注解
  • BRAM资源不够用?不怕!这里有FPGA BRAM省资源小秘招!

    FPGA的BRAM和LUT等资源都是有限的 在FPGA开发过程中 可能经常遇到BRAM或者LUT资源不够用的情况 一般建议BRAM和LUT资源的消耗不要超过80 当然高端一点的FPGA芯片也可以放宽到90 超过这个限制 可能就会出现时序违例
  • wifi中断攻击

    前言 wifi攻击包括wifi中断攻击 wifi密码爆破 wifi钓鱼等 本文章持续更新以上内容 先以wifi中断攻击为始 硬件为ESP8266 还买了一个无线网卡用作后续wifi密码爆破 网上某宝十几块钱就能玩 我买的是带Micro接口
  • Git的简述

    Git 文章目录 Git Git概述 版本控制工具 集中式管理控制工具 分步式管理控制工具 控制机制 Git和代码托管中心 安装Git软件 Git常用命令 Git概述 Git是一个免费的 开源的分步式版本控制系统 可以快速的处理从小型到大型