Git实用指南(精简版)

news2024/12/21 21:45:17

目录

读者须知

Git是什么

Git的原理

文件在Git中的几种状态

快速上手

结尾


读者须知

本文章适合从未接触过git,或者需要深度学习Git的用户进行阅读.

文末有详细的文档,读者可以前往Github下载阅读!!三克油

Git是什么

简单来说,Git是一个代码备份工具,你可以使用指令对某些节点打上标注信息并且进行备份.你可以利用他在任何时候对代码进行备份,检阅之前的备份,回退到某个备份.额外的还可以合并他人的备份,并且这一系列可以不需要联网就能进行!(当然有网络就会更方便)

官方一点的讲法,Git 是一款分布式的、可供多人开发的版本控制软件,在多人项目开发当中用于控制项目版本,方便执行该场景下的提交、合并、回退等操作。

Git的原理

  • Workspace:工作区,就是你写代码的 IDE 所看见的区域
  • Index / Stage:暂存区,执行 add 和 stash 之后,你的代码将会被放入该区域,不过 add 会对其进行追踪
  • Repository:本地仓库,执行 commit 之后将记录保存到本地
  • Remote:远程仓库,执行 push 之后将本地的记录与远程对比再合并

文件在Git中的几种状态

在系统中,一切资源皆文件,所有的文件可以在IDE查看他们的状态来确认他们被提交到哪个区当中!

Untracked: 未跟踪, 此文件在文件夹中, 但并没有加入到 git 库, 不参与版本控制. 通过 git add 状态变为 Staged.

Unmodify: 文件已经入库, 未修改, 即版本库中的文件快照内容与文件夹中完全一致. 这种类型的文件有两种去处, 如果它被修改, 而变为 Modified. 如果使用 git rm 移出版本库, 则成为 Untracked 文件

Modified: 文件已修改, 仅仅是修改, 并没有进行其他的操作. 这个文件也有两个去处, 通过 git add 可进入暂存 staged 状态, 使用 git checkout 则丢弃修改过, 返回到 unmodify 状态, 这个 git checkout 即从库中取出文件, 覆盖当前修改

Staged: 暂存状态. 执行 git commit 则将修改同步到库中, 这时库中的文件和本地文件又变为一致, 文件为 Unmodify 状态. 执行 git reset HEAD filename 取消暂存, 文件状态为 Modified

快速上手

理解完基本概念,对Git有一个基础的模型,就可以上手写代码了.关于Git的安装,可以搜索Git官网来下载Git Bash ,这里不再讲解!!!

打开Git Bash,可以发现是一个类似于CMD的黑框框,而上面的一系列操作,都需要你以指令的形式敲入这个框当中来进行,你的脑海中要你能够知道你敲的指令是到哪一步了,这样才能够游刃有余.

(1)创建一个本地git仓库

首先找一个空白目录,然后将Git Bash的目录切到该目录,输入:

git init

这样你就拥有了一个仓库,会生成一个隐形的.git目录,存放你的备份信息

(2)设置个人信息

git config --global user.name "你的昵称,用于显示提交信息"
git config --global user.email "你的邮箱"

这样你的提交会带上这些信息,方便他人联系你

(3)拉取一个仓库

git clone "https://xxxx.com/url"

这样可以将别人的仓库拉取到本地的当前路径,拉取完后会有该远程仓库的信息

(4)给远程仓库地址取别名

git remote add origin https:www.github.com/xxx.git

这里将https:www.github.com/xxx.git取一个代号叫origin,如果代号已存在会失败

(4)给远程仓库地址改别名

git remote set-url origin https:www.github.com/xxx.git

这里将代号叫origin的远程仓库地址改为https:www.github.com/xxx.git,如果origin不存在会失败

(5)将本地开发进度推送到暂存区

git add .

这一步会将当前项目所有的文件加入暂存区,后面提交会将暂存区内所有内容提交到本地仓库

(6)提交代码到本地仓库

git commit  -m "说明信息"

这一步会将暂存区内所有内容形成提交记录交到本地仓库

(7)切换分支

git checkout -b xxx

这一步会将当前分支复制一份出来,命名为xxx分支,并且将切换到xxx分支

如果不带-b,就是直接切换到xxx分支

(8)获取远程仓库的分支

虽然Git可以不需要联网,但是一般有一个统一的仓库,方便大家更新进度.当你需要将别人的备份合并到你本地时,你需要通过网络从该仓库上获取.

git fetch origin A:B

这一步将远程仓库的A分支,拉取到本地的origin/B分支上,其中形似origin/B的分支被称为远程追踪分支

(9)分支合并

git merge AAA

这一步会将你本地的AAA分支合并到当前所在分支,当然你也可以将其换成某个程追踪分支

(10)拉取并合并分支

git pull origin A:B

没记错的话,这一步会将远程仓库的A分支拉取到本地的origin/B分支上,并自动将origin/B合并到本地的B分支上.也相当于fetch与merge的组合

(11)推送分支

git push -u origin A:B

这一步将本地的A分支推送到远程仓库的B分支,并建立追踪,下次可以直接在A分支上使用git push代替该语句

(12)查看远程仓库的信息

git remote -v

这样可以查看你的git push和git pull的目标仓库是哪个 

结尾

Git指令实在是太多了,推荐你看看我整理的文档把 ,祝你早日精通Git成为大神!

最后欢迎批评指正!图片来源应该也包含在参考链接当中.

https://github.com/theOnlyUnique/GitFortune/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2263435.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

jmeter 接口性能测试 学习笔记

目录 说明工具准备工具配置jmeter 界面汉化配置汉化步骤汉化结果图 案例1:测试接口接口准备线程组添加线程组配置线程组值线程数(Number of Threads)Ramp-Up 时间(Ramp-Up Period)循环次数(Loop Count&…

小红书关键词搜索采集 | AI改写 | 无水印下载 | 多维表格 | 采集同步飞书

小红书关键词搜索采集 | AI改写 | 无水印下载 | 多维表格 | 采集同步飞书 一、下载影刀: https://www.winrobot360.com/share/activity?inviteUserUuid595634970300317698 二、加入应用市场 https://www.yingdao.com/share/accede/?inviteKeyb2d3f22a-fd6c-4a…

Unbuntu下怎么生成SSL自签证书?

环境: WSL2 Unbuntu 22.04 问题描述: Unbuntu下怎么生成SSL自签证书? 解决方案: 生成自签名SSL证书可以使用OpenSSL工具,这是一个广泛使用的命令行工具,用于创建和管理SSL/TLS证书。以下是生成自签名…

通过阿里云 Milvus 与 PAI 搭建高效的检索增强对话系统

背景介绍 阿里云向量检索服务Milvus版(简称阿里云Milvus)是一款云上全托管服务,确保了了与开源Milvus的100%兼容性,并支持无缝迁移。在开源版本的基础上增强了可扩展性,能提供大规模 AI 向量数据的相似性检索服务。相…

打靶记录22——Tomato

靶机: https://download.vulnhub.com/tomato/Tomato.ova 难度: 低 目标: 获得 Root 权限 Flag 攻击方法: 主机发现端口扫描信息收集路径爬取源码分析文件包含写入日志 /var/log/auth.log内核漏洞枚举 les.sh本地提权 主机…

三维引擎cesium学习经验

三维引擎cesium学习经验: 1、初始化viewer对象 2、对entity的操作:添加,隐藏,修改,去除,居中显示 3、去除掉entity的双击事件 4、获取当前视角高度 5、获取经纬度在屏幕上的位置 6、获取三维场景屏幕中心点…

【蓝桥杯】43699-四平方和

四平方和 题目描述 四平方和定理,又称为拉格朗日定理: 每个正整数都可以表示为至多 4 个正整数的平方和。如果把 0 包括进去,就正好可以表示为 4 个数的平方和。 比如: 502021222 712121222; 对于一个给定的正整数,可…

十、从0开始卷出一个新项目之瑞萨RZN2L rzn-fsp v2.0.0 Release Notes

目录 一、概述 二、Github地址 三、 Features Added 3.1 Developer Assistance feature support added. 3.2 Multiplex interrupts support added. 四、Bug Fixes and Improvements 4.1 Added a noncache section for user applications. 4.2 Unified case of asm inst…

VM16+解压版CentOS7安装和环境配置教程(2024年12月20日)

VM16解压版CentOS7安装和环境配置教程-2024年12月20日 一、下载安装包二、vm安装三、解压版CentOS7安装四、CentOS设置静态IP 因为很多同学觉得配置CentOS7好麻烦,我特地提供了一个已经配置好的现成镜像,来简化操作本篇来记录过程。 如果你在看到这篇文章…

PC寄存器(Program Counter Register)jvm

在JVM(Java虚拟机)中,PC寄存器(Program Counter Register)扮演着至关重要的角色。以下是对JVM中PC寄存器的详细解释: 一、定义与功能 定义: JVM中的PC寄存器,也被称为程序计数器,是对物理PC寄存器的一种抽象模拟。它用于存储当前线程所执行的字节码指令的地址,即指…

学习threejs,scene.overrideMaterial全局材质效果

👨‍⚕️ 主页: gis分享者 👨‍⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍⚕️ 收录于专栏:threejs gis工程师 文章目录 一、🍀前言1.2 ☘️THREE.Scene 场景1.2 ☘️…

【原生js案例】前端封装ajax请求及node连接 MySQL获取真实数据

上篇文章,我们封装了ajax方法来请求后端数据,这篇文章将介绍如何使用 Node.js 来连接 MySQL,并对数据库进行操作。 实现效果 代码实现 后端接口处理 const express require("express"); const connection require("../da…

FFmpeg 4.3 音视频-多路H265监控录放C++开发二十一.2,RTP协议-RTP协议概述,协议详情

前提: 为什么要学习 RTP(Real-time Transport Protocol)重点 简介:RTP是一个实时传输媒体数据的协议,通常与RTSP一起使用。它负责在网络上传输音视频数据。特点:RTP通过UDP或TCP传输媒体数据,提供时间戳和序…

Chapter 18 CMOS Processing Technology

Chapter 18 CMOS Processing Technology 这一章介绍CMOS制造工艺, 介绍wafer制作, 光刻, 氧化, 离子注入, 沉淀(deposition)和刻蚀. 然后介绍MOS管制作流程, 最后介绍被动器件和互连接. 18.1 General Considerations sheet resistance为方块电阻. R ρL/(W t), 方块电阻定…

服务器数据恢复—V7000存储中多块磁盘出现故障导致业务中断的数据恢复案例

服务器存储数据恢复环境: 一台V7000存储上共12块SAS机械硬盘(其中1块是热备盘),组建了2组Mdisk,创建了一个pool。挂载在小型机上作为逻辑盘使用,小型机上安装的AIXSybase。 服务器存储故障: V7…

LabVIEW中的“Synchronize with Other Application Instances“

在LabVIEW中,“Synchronize with Other Application Instances”是一个常见的提示或错误,通常出现在尝试并行运行多个LabVIEW实例时,特别是当你打开多个VI或项目时。这个问题可能影响程序的执行流程,导致不同实例之间的数据同步或…

简单配置,全面保护:HZERO审计服务让安全触手可及

HZERO技术平台,凭借多年企业资源管理实施经验,深入理解企业痛点,为您提供了一套高效易用的审计解决方案。这套方案旨在帮助您轻松应对企业开发中的审计挑战,确保业务流程的合规性和透明度。 接下来,我将为大家详细介绍…

【论文研读】U-DiTs:在U型扩散Transformer中引入下采样Token,以更低计算成本超越DiT-XL/2

推荐理由 这篇论文提出了一种新的U型扩散Transformer模型(U-DiT),该模型通过对自注意力机制中的查询、键和值进行下采样,有效减少了计算冗余,同时提高了性能。论文中的研究不仅包含理论分析和实验验证,还展…

深入理解 Linux wc 命令

文章目录 深入理解 Linux wc 命令1. 基本功能2. 常用选项3. 示例3.1 统计文件的行、单词和字符数3.2 仅统计行数3.3 统计多个文件的总和3.4 使用管道统计命令输出的行数 4. 实用案例4.1 日志分析4.2 快速统计代码行数4.3 统计单词频率 5. 注意事项6. 总结 深入理解 Linux wc 命…

SDMTSP:黑翅鸢算法(Black-winged kite algorithm,BKA)求解单仓库多旅行商问题,可以更改数据集和起点(MATLAB代码)

一、黑翅鸢算法BKA 黑翅鸢算法(Black-winged kite algorithm,BKA)由Wang Jun等人于2024年提出,该算法受黑翅鸢的迁徙和掠食行为启发而得。BKA集成了柯西突变策略和领导者策略,增强了算法的全局搜索能力,提…