Pro Git Notes

2023-05-16

This post include notes to Pro Git book.

Git Introduction

Git is a Distributed Version Control Systems (DVCSs).
Clients fully mirror the repository, including its full history.
Distributed Version Control
Git thinks about its data more like a stream of snapshots.

Three Main File States

Git has three main states that your files can reside in:
committed, modified, and staged.

StateDescription
CommitedThe data is safely stored in your local database.
ModifiedYou have changed your file but have not committed it to your database yet.
StagedYou have marked a modified file in its current version to go into your next commit snapshot.

This lead us to the three main sections of a Git project: the Git directory, the working tree, and the staging area.

Three Git Project Sections

Working tree, staging area and Git directory.

SectionDescription
Git directoryWhere Git stores the metadata and object database in your project. It is what you copied when you clone a repository from another computer.
Working treeA single check out of one version of the project. These files are pulled out of the compressed database in the Git directory and placed on disk for your use or modify.
Staging areaA file, generally contained in your directory, that stores information about what will go into your next commit. Its technical name in Git parlance is “index“.

Basic Git Workflow:

  1. You modify files in your working three.
  2. You selectively stage just those changes you want to be part of your next commit, which adds only those changes to the staging area.
  3. You do a commit, which takes the files as they are in the staging area and stores that snapshot permanently to your git repository.

Installing Git

Reference: Installing Git

Git Config

Reference: First Time Git Setup

Git Basics

1 Getting a Repository

1.1 Initializing a Repository in an Existing Directory

Bash example:

cd %my_project%
git init

This creates a new sub-directory named .git that contains all of your necessary repository files – a git repository skeleton.

git add *.c
git add LICENSE
git commit -m 'initial project version'

1.2 Cloning an existing repository

Bash command:

git clone <url>

This:
(1) creates a directory,
(2) initializes a .git directory inside it,
(3) pulls down all the data for that repository,
(4) and checks out a working copy of the latest version.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Pro Git Notes 的相关文章

  • 列出其他人(即不是我)所做的提交?

    是否有一种标准方法可以列出 git 存储库中其他人 即不是我自己 所做的所有提交 I tried git log not author username 但看起来 not仅适用于修订版 的联机帮助页git log似乎没有提供反转谓词的方法
  • git rebase -i ——为什么它改变提交哈希值?

    所以我或多或少熟悉变基的工作原理 但直到最近我通常只做了一个git rebase i HEAD 20 并修改了需要修改的内容 我很惊讶地发现这将修改所有 20 个提交的哈希值 即使我采取的唯一操作是压缩最后两个提交 我不确定是什么导致其他
  • 有没有一种方法可以非交互地压缩大量提交?

    我正在尝试压缩一系列提交 HEAD 到 HEAD 3 有没有一种快速的方法可以做到这一点 或者我需要使用 rebase interactive 确保你的工作树是干净的 然后 git reset soft HEAD 3 git commit
  • 合并git中2个不同分支中具有相同名称的2个文件

    我目前有一个名为test1在一个名为branch1创建自master另一个文件也命名为test1在一个名为branch2也创建自master 如果我合并 master 中的两个分支 这两个文件中编写的代码会发生什么 As 阿米尔回答了 ht
  • 克隆包含所有子模块的 git 存储库

    我有一个工作 git 存储库 其中包含几个子模块 通过克隆不同的存储库获得 现在 我想要复制整个存储库 包含所有子模块 通过使用推送或克隆到另一台机器上的裸 git 存储库 我很高兴失去子模块的历史记录 我只是对保留它们的内容感兴趣 这可能
  • Git 显示更改后的相同文件

    当我似乎无法弄清楚更改时 Git 向我显示整个文件已更改 这是 cygwin git 但它也发生在 msysgit 中 git version git version 2 1 1 diff lt git show HEAD File cs
  • Git ref master 现在为空,如何恢复?

    我不完全确定发生了什么 但由于某种原因 我的 git 存储库的主引用文件现在是空的 我们在 Dropbox 上托管存储库 所以也许与此有关 但现在我无法从中提取 它是这么说的 Your configuration specifies to
  • 如何在 Android Studio 中比较两个 Git 分支?

    我不确定是否可以将主分支 或任何其他分支 与当前功能分支进行比较 例如GIT does 我想要两个分支 主分支和功能分支 之间的差异 以便我可以在合并之前比较差异 我发现 Git UI 对用户不太友好 就像在 AS 中一样 我可以遍历代码并
  • 由于合并而不允许 git revert 但未给出 -m 选项

    我正在尝试使用 revert 命令恢复到 git 中的某个 哈希 号 我正在使用以下命令 git revert c14609d74eec3ccebafc73fa875ec58445471765 但是 我得到以下返回 错误 提交 c14609
  • git分支和标签如何存储在磁盘中?

    我最近检查了我工作中的一个 git 存储库 其中有 10 000 多个分支和 30000 多个标签 新克隆后 存储库的总大小为 12Gigs 我确信没有理由拥有 10000 个分支机构 所以我相信它们会占用磁盘中相当大的空间 所以 我的问题
  • 命令来确定当前 HEAD 的上游引用?

    我正在寻找我所希望的简单的一行命令确定当前签出分支的正确上游引用 本质上就像是 git branch remote HEAD 如果有效 会将符号模式 HEAD 转换为当前分支名称 然后选项 remote然后将其更改为远程跟踪分支的引用 但它
  • Git:结帐而不运行结帐后挂钩

    我有一个我喜欢的结帐后挂钩 大多数时候 但有时我知道运行它会浪费时间 或者 因为它会删除并重建我的开发数据库 所以我不希望它去做它的事情 有没有跳过钩子的 git 选项 公平地说 我已经开始寻找一个了 我认为没有命令行选项可以完成您想要的操
  • Gerrit 安装后无法克隆所有项目存储库

    我有一个新设置的 Gerrit 实例 目前只有两个存储库 所有项目 binutils 测试 尝试克隆所有项目时 我收到以下错误 git clone ssh user hostname 29418 All Projects Initializ
  • Git:如何使外部存储库和嵌入式存储库作为通用/独立存储库工作?

    我有一个大项目 比方说A repo 其中有一个子文件夹来自B repo 当我提交时 我会遇到如下警告A repo warning adding embedded git repository extractor annotator serv
  • git在Windows和Linux之间切换后强制刷新索引

    我有一个Windows和Linux共享的磁盘分区 格式 NTFS 它包含一个 git 存储库 约 6 7 GB 如果我只使用Windows or 只使用Linux操作 git 存储库一切正常 但是每次切换系统的时候git status命令将
  • GitHub API:标记提交所属(与 git describe --tag 并行)

    我正在使用 GitHub API 进行实验octokit https github com octokit octokit rb红宝石 我的目标是能够提取提交 SHA 所属的 标签 现在我可以使用命令行轻松地执行此操作 gt git des
  • 在 git 子模块中签出分支

    如何从子模块内更改分支 当我跑步时git branch从子模块内 我看到以下输出 gt git branch HEAD detached from 229a7b2 master 我如何将自己置于一个新的分支上 喜欢development 只
  • 如何在 Windows 上向 git 存储库添加符号链接?

    我使用 GitHub 的电子环境编译 OS X 的二进制文件 并希望将输出添加到 git 存储库 我试过 git add error readlink sulu app Contents Frameworks Electron Framew
  • 如何使用 .gitattributes 避免在 git root 中包含文件夹,但在 zip 的 dist 文件夹中包含同名文件夹

    我有一个名为lib在存储库的根目录和另一个名为lib在 dist 文件夹中 我正在尝试使用 gitattributes文件排除除 dist 之外的所有文件夹和文件 以便任何下载为 zip 或 tarball 的人都只会 git 分发文件 我
  • Git 不断提示我输入密码

    我已经使用 Git 一段时间了 但是不断要求输入密码开始让我感到厌烦 我使用的是 Mac OS X 和 GitHub 并且按照 GitHub 的说明设置了 Git 和我的 SSH 密钥设置 Git 页面 http help github c

随机推荐

  • 装饰器

    装饰器 由于函数也是一个对象 xff0c 而且函数对象可以被赋值给变量 xff0c 所以 xff0c 通过变量也能调用该函数 span class prompt gt gt gt span class function span class
  • yolov5 识别效果不好如何判断原因

    yolov5 训练完模型以后发现 对测试图片的识别效果不好 那么这个时候该怎么办呢 是过拟合还是欠拟合了呢 怎么判断呢 欠拟合 机器学习中一个重要的话题便是模型的泛化能力 xff0c 泛化能力强的模型才是好模型 xff0c 对于训练好的模型
  • STM32F303RE 四个ADC同步规则采样

    STM32F303RE 芯片有4个ADC 采样频率据说能达到5Mbsps 已经算是非常高的了 比较适合做采样 参考文章 STM32三个ADC同步规则采样 参考上面的配置文章 经过不断的失败和重复尝试 最后终于搞通了 其中遇到了好几个错误 也
  • Python虚拟环境导出包安装到另一台电脑的方法

    Python虚拟环境导出包安装到另一台电脑的方法 环境 xff1a Windows 版 Python Python 3 6 8可以用自带的命令建立虚拟环境 xff0c 不用安装另外的如 virtualenv virtualenvwrappe
  • C# System.Numerics.Math.Sin 计算对边和临边

    在 C 中 xff0c 使用 System Numerics 中的 Math Sin 计算 36 869898 度角的正弦值可以通过以下代码实现 xff1a span class token keyword using span span
  • HTTP 错误 401.0 - Unauthorized 的解决方案

    我的项目突然间报这个错误 HTTP 错误 401 0 Unauthorized 您无权查看此目录或页面 最可能的原因 通过身份验证的用户无权访问处理请求所需的资源 可尝试的操作 查看失败请求跟踪日志以获取有关此错误的其他信息 有关详细信息
  • 卡尔曼滤波,最最容易理解的讲解.找遍网上就这篇看懂了.

    学习卡尔曼滤波看了4天的文章 硬是没看懂 后来找到了下面的文章一下就看懂了 我对卡尔曼滤波的理解 我认为 卡尔曼滤波就是把统计学应用到了滤波算法上 算法的核心思想是 根据当前的仪器 34 测量值 34 和上一刻的 34 预测量 34 和 3
  • HTTP status Code 412 未满足前提条件的解决方法之一

    最近网站老是报告错误 ajax返回状态为 error 思来想去不知道为啥 后来跟踪了下 发现是在请求某个页面的时候会返回412错误 而这个页面的请求是通过jquery 的 34 panel 34 load 34 http 34 方法去请求的
  • RabbitMQ入门 用途说明和深入理解

    RabbitMQ 在上一家公司已经接触过了 但是懵懵懂懂的 不是很清楚 具体怎么个逻辑 这次公司打算搭建新的系统 领导要求研究一下MQ 经过研究得出的结论是 MSMQ的设计理念不适合做系统的底层框架 他不适合做分布式系统 最主要的是 MSM
  • KEIL软件的Error: Flash Download failed - Could not load file '..\OBJ\Template.axf'解决思路

    第一个知识点 axf是编译后生成的文件 这个文件是用来写入单片机的 如果不存在这个文件 首先要看一下 是不是有编译错误 编译错误肯定不会出这个文件的 第二个知识点 这个文件的路径是可以指定的 在Options for Target Temp
  • 数学分析 反函数存在性定理,连续性定理与求导定理

    反函数存在性定理 若函数 y 61 f x x D f 是严格单调增加 xff08 减少 xff09 的 xff0c 则存在它的反函数 x 61 f 1 y R f X xff0c 并且 f 1 y 也是严格单调增加 xff08 减少 xf
  • css高度塌陷和外边距塌陷的原因及解决办法

    1 高度塌陷 xff08 原因 xff0c 如何解决 xff09 概念介绍 高度塌陷 xff1a 子元素设置浮动后就会脱标 脱离标准流进入浮动流 xff0c 如果此时父元素没有设置高度 xff0c 那么父元素高度就会为0 xff0c 形成所
  • 黎曼可积的充分必要条件 (3)

    推论 1 闭区间上的连续函数必定可积 证明 xff1a f x 在闭区间 a b 连续 xff0c 则有界且一致连续 因此 xff0c gt 0 gt 0 x x a b 若 x x lt 则
  • 定积分的基本性质4 绝对可积性

    性质4 绝对可积性 若 f x 在 a b 上可积 xff0c 则 f x 也在 a b 上可积 xff0c 且 b a f x d x b a f x d x 证明
  • trace (矩阵的迹) 的性质

    trace 矩阵的迹 的性质 性质1 t r A m n B n m 61 t r B A t r A m
  • 可逆线性变换

    线性变换的逆变换 对于线性空间 V V 上的任意一个线性变换 f f 若存在 V V 上的一个变换 g g 使得 f g 61 g f 61 I f
  • 矩阵的秩的性质

    定理 1 对于任意一个矩阵 A m n A m n 对于 A A 的任意一个 s s 行
  • 向量范数的等价性

    向量范数的等价 对于任意两个有限维线性空间 V V 上的范数 若存在常数 C 1 gt 0 C 2 gt 0 C 1 gt
  • 矩阵范数的等价性(原创)

    矩阵范数的等价 设 F 61 R F 61 R 或 C C 对于任意两个 F n n
  • Pro Git Notes

    This post include notes to Pro Git book Git Introduction Git is a Distributed Version Control Systems DVCSs Clients full