Git 命令行使用指南

  • Git 命令行使用指南
    • 第一部分:配置 Git
      • 1.1 设置用户信息
      • 1.2 配置换行符处理
    • 第二部分:创建和配置仓库
      • 2.1 初始化仓库
      • 2.2 克隆仓库
      • 2.3 递归克隆
      • 2.4 深度克隆
    • 第三部分:基本操作
      • 3.1 添加文件
      • 3.2 提交更改
      • 3.3 查看状态和提交历史
      • 3.4 创建和切换分支
      • 3.5 解决冲突
      • 3.6 合并分支
      • 3.7 拉取远程更改
      • 3.8 创建本地分支跟踪远程分支
      • 3.9 添加子模块
    • 第四部分:远程仓库操作
      • 4.1 添加远程仓库
      • 4.2 推送更改到远程仓库
    • 第五部分:撤销更改
      • 5.1 撤销更改

Git 命令行使用指南

Git 是一个强大的分布式版本控制系统,用于跟踪和管理软件项目的更改。本指南将详细介绍 Git 的基本用法,以帮助您开始使用 Git 来管理您的项目。

第一部分:配置 Git

1.1 设置用户信息

在开始使用 Git 之前,您需要配置您的用户信息,包括姓名和电子邮件地址。这将用于记录您的提交信息。

git config --global user.name "Your Name"
git config --global user.email "youremail@example.com"

1.2 配置换行符处理

在不同操作系统上,换行符的表示方式不同。为了确保在不同平台上的一致性,您可以配置 Git 处理换行符的方式。

git config --global core.autocrlf <value>

<value> 的选项可以是 truefalseinput,具体取决于您的需求。通常,在 Windows 上使用 true,在 Unix/Linux 上使用 falseinput

第二部分:创建和配置仓库

2.1 初始化仓库

要开始使用 Git,您需要创建一个新的仓库或克隆一个现有的仓库。使用以下命令初始化一个新仓库:

git init my-repo

这将在当前目录下创建一个名为 my-repo 的新仓库。

2.2 克隆仓库

如果您要克隆一个已经存在的仓库,可以使用以下命令:

git clone <repository-url>

这将复制远程仓库的内容到您的本地计算机,并创建一个与远程仓库相同的本地副本。

2.3 递归克隆

有些仓库包含子模块,即其他仓库的嵌套。要递归克隆包含子模块的仓库,使用 --recursive 选项:

git clone --recursive <repository-url>

这将克隆主仓库及其所有子模块。

2.4 深度克隆

深度克隆是指仅克隆仓库的部分历史记录,而不是完整地将整个历史记录克隆到本地。这对于减小仓库大小和节省带宽很有用。

要进行深度克隆,使用 --depth 选项,并指定要克隆的提交数量:

git clone --depth=<depth> <repository-url>

如果你仅需要最新的内容,使用 git clone --depth=1 <repository-url> 即可。

如果您已经使用深度克隆克隆了一个仓库,想要获取更多历史记录,可以使用以下命令:

git fetch --unshallow

这将从远程仓库获取完整的历史记录。

第三部分:基本操作

3.1 添加文件

在 Git 中,您需要明确告诉 Git 哪些文件应该被跟踪。使用以下命令将文件添加到暂存区:

git add .

. 表示当前目录下的所有文件。您也可以指定特定文件名来添加单个文件。

3.2 提交更改

一旦您将文件添加到暂存区,您可以使用以下命令来提交更改:

git commit -m "描述你的更改"

这将创建一个提交,将您的更改保存到 Git 仓库中,并附带一条描述信息。

3.3 查看状态和提交历史

要查看仓库的状态以及提交历史,可以使用以下命令:

git status
git log

git status 显示未提交的更改,而 git log 显示提交历史。

3.4 创建和切换分支

分支是 Git 的强大功能之一,允许您在不影响主分支的情况下开发新功能或修复错误。要创建和切换分支,使用以下命令:

git branch <branch-name>
git checkout <branch-name>

<branch-name> 是您为分支指定的名称。

3.5 解决冲突

在多人协作或切换分支时,可能会遇到冲突。冲突发生在两个分支修改了相同部分的文件时。要解决冲突,打开冲突文件,手动编辑文件以保留您需要的更改,然后使用以下命令标记冲突已解决:

git add <resolved-file>
git commit -m "解决冲突:描述冲突解决的内容"

3.6 合并分支

要将分支合并到主分支或其他分支,使用以下命令:

git merge <branch-name>

这将将指定分支的更改合并到当前分支。

3.7 拉取远程更改

在协作中,需要拉取其他人对仓库的更改以保持同步。使用以下命令拉取远程更改:

git fetch --all

3.8 创建本地分支跟踪远程分支

要在本地创建一个分支并将其与远程分支关联,使用以下命令:

git checkout -b 本地分支名 origin/远程分支名

这将创建一个本地分支,并将其与指定的远程分支关联起来,以便跟踪远程仓库的更改。

3.9 添加子模块

Git 子模块允许您将一个 Git 仓库作为另一个 Git 仓库的子目录。要添加子模块,可以使用以下命令:

git submodule add <repository-url> <path>

这将在指定的 <path> 目录下添加一个子模块,与指定的 <repository-url> 仓库关联。

第四部分:远程仓库操作

4.1 添加远程仓库

要与远程仓库进行交互,您需要将其添加为 Git 仓库的远程源。使用以下命令添加远程仓库:

git remote add origin <repository-url>

origin 是通常用于远程仓库的默认名称,但您可以选择其他名称。

4.2 推送更改到远程仓库

要将本地更改推送到远程仓库,使用以下命令:

git push origin <branch-name>

这将确保您的更改与远程仓库保持同步。

第五部分:撤销更改

5.1 撤销更改

有时,您可能需要撤销提交或更改。使用以下命令可以实现不同级别的撤销:

  • git reset 用于取消提交并将更改保留在工作区。
  • git reset HEAD~1 用于取消最新的提交,并将更改保留在工作区和暂存区。

这些是 Git 的基本用法,但 Git 是一个非常强大的工具,还有许多高级功能和选项可供探索。继续学习和掌握 Git 将使您更好

更多内容请参考: https://git-scm.com/docs

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

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

相关文章

第十二届金鸡湖创新创业大赛总决赛圆满落幕!

精英汇聚,逐梦前行,11月14日,由中国创业人才投资中心、海外高层次人才专家联谊会主办,2023第十二届金鸡湖创新创业大赛总决赛在苏州工业园区圆满举办,21个来自海内外的科技企业经过层层选拔脱颖而出,最终致力于智能声音前端处理技术产业化的黄鹂智声拔得头筹。活动同期举行了第…

SAP:解决函数CONNE_IMPORT_WRONG_COMP_DECS CX_SY_IMPORT_MISMATCH_ERROR错误

用户反馈报表中取数异常&#xff0c;经检查发现SE37执行取数函数ZLY_R_CWFX03报以下错误。 Category ABAP Programming Error Runtime Errors CONNE_IMPORT_WRONG_COMP_DECS Except. CX_SY_IMPORT_MISMATCH_ERROR ABAP Program ZLY_R_CWFX03FT Application Component Not Assig…

【论文阅读】CTAB-GAN: Effective Table Data Synthesizing

论文地址&#xff1a;[2102.08369] CTAB-GAN: Effective Table Data Synthesizing (arxiv.org) 介绍 虽然数据共享对于知识发展至关重要&#xff0c;但遗憾的是&#xff0c;隐私问题和严格的监管&#xff08;例如欧洲通用数据保护条例 GDPR&#xff09;限制了其充分发挥作用。…

“苹果定律”失效,2023是VR的劫点还是拐点?

因为Pico裁员的事情&#xff0c;VR行业又被讨论了。 Pico于2021年9月被字节跳动收购&#xff0c;当时是出货量排名全球第三的VR 头显生产商。 此前曾有国际机构预测&#xff0c;2023年随着Meta和Pico的硬件更新&#xff0c;苹果Vision Pro的推出&#xff0c;三星电子重新回归VR…

Java学习之路 —— Day3(内部类、枚举、泛型、API)

文章目录 1. 内部类2. 枚举3. 泛型 1. 内部类 成员内部类 就是类中的一个普通成员&#xff0c;类似普通的成员方法、成员变量。&#xff08;套娃&#xff09; public class Outer {public class Inner {private String name;public static String school;public String getNa…

map\set封装

目录 1. set和map的底层结构1.1 红黑树1.2 set1.3 map 2. 模拟实现2.1 红黑树2.1 map和set以及仿函数2.3 迭代器2.3.1 const迭代器 2.3 set和map封装 1. set和map的底层结构 1.1 红黑树 这两个容器底层都是对红黑树的封装&#xff0c;因此需要先看一下红黑树结构部分的底层源…

4.0 Linux进程前导知识

个人主页&#xff1a;Lei宝啊 愿所有美好如期而遇 冯.诺依曼体系 CPU&#xff1a;运算器&#xff0c;控制器 输入设备&#xff1a;键盘&#xff0c;麦克风&#xff0c;摄像头&#xff0c;鼠标&#xff0c;网卡&#xff0c;磁盘等。 输出设备&#xff1a;显示器&#xff0…

都快2024年了,别只使用React,需要学习一下Vue,不然没出路了

最近&#xff0c;我的朋友因为不熟悉 Vue.js 而未能通过面试。 她平时工作中大部分时间都在使用React&#xff0c;所以也懒得去了解其他前端框架。 世界上所有的前端框架我们都应该熟悉吗&#xff1f; 不&#xff0c;这是极其不合理的。 但为了生存&#xff0c;朋友还是要学…

如何解决两个不同服务器,不同账户下的虚拟环境的克隆问题

目录 问题描述&#xff1a; 问题解决&#xff1a; 问题描述&#xff1a; 重新更换了一个服务器&#xff0c;账户也不相同。又不想重新配置完全一样的虚拟环境&#xff08;或者忘记之前的虚拟环境中的具体参数&#xff09;&#xff0c;该如何办呢&#xff1f; 问题解决&#x…

2023数字科技生态展,移远通信解锁新成就

11月10日&#xff0c;以“数字科技&#xff0c;焕新启航”为主题的中国电信2023数字科技生态大会暨2023数字科技生态展在广州盛大启幕。作为物联网行业的龙头标杆&#xff0c;同时更与中国电信连续多年维持稳定友好的合作关系&#xff0c;移远通信受邀参加本次展会。 在本次展会…

使用xlwings实现对excel表中指定列隔行求和

需要对上表中的营业额隔行求和&#xff0c;即橙色背景颜色的求和&#xff0c;无背景颜色的求和。 看了大佬的视频&#xff0c;有两种方法&#xff1a; 1.加辅助列 2.使用判断行的奇偶函数&#xff0c;然后在用sumproduct函数 在此&#xff0c;我使用xlwings对excel表中数据…

Java编程--单例模式(饿汉模式/懒汉模式)/阻塞队列

前言 逆水行舟&#xff0c;不进则退&#xff01;&#xff01;&#xff01; 目录 单例模式 饿汉模式&#xff1a; 懒汉模式&#xff1a; 什么是阻塞队列 什么是高内聚 低耦合 阻塞队列的实现 单例模式 单例模式&#xff08;Singleton Pattern&#xff09;是一种常见…

WorldView 1 2 3 4卫星影像

WorldView WorldView卫星是Digitalglobe公司的商业成像卫星系统。它由两颗(WorldView-I和WorldView-II)卫星组成。 WorldView-1 WorldView-1卫星为美国DigitalGlobe公司的高分辨率商用卫星&#xff0c;于2007年9月18日成功发射&#xff0c;可提供0.5m分辨率卫星影像。灵活的…

设计模式之适配器(Adapter)

Adapter Wapper 接口转换器 如果一个类不能直接访问另一个类的时候&#xff0c;中间加一个Adapter转换器就能访问了 常见例子: 电压转接头 java.io jdbc-odbc bridge(不是桥接模式) ASM Transformer java io里面的读文件操作: FileInputStream是字节流读文件&#xff0c;就像…

2023-2024-2 高级语言程序设计-二维数组

7-1 矩阵运算 给定一个nn的方阵&#xff0c;本题要求计算该矩阵除副对角线、最后一列和最后一行以外的所有元素之和。副对角线为从矩阵的右上角至左下角的连线。 输入格式: 输入第一行给出正整数n&#xff08;1<n≤10&#xff09;&#xff1b;随后n行&#xff0c;每行给出…

深入理解Kafka3.6.0的核心概念,搭建与使用

Kafka是最初由Linkedin公司开发&#xff0c;是一个分布式、支持分区的&#xff08;partition&#xff09;、多副本的&#xff08;replica&#xff09;&#xff0c;基于zookeeper协调的分布式消息系统&#xff0c;它的最大的特性就是可以实时的处理大量数据以满足各种需求场景&a…

桌面便签软件用哪个?10款全球好用的便签软件推荐,告别杂论无章!

在如今的快节奏社会中&#xff0c;我们的生活和工作节奏越来越快&#xff0c;每天面对的信息成倍地增长。有时候&#xff0c;我们需要随手记下一些重要的事情&#xff0c;或者是一些突然的灵感&#xff0c;这时候就需要一款好用的桌面便签软件。 桌面便签软件可以帮助我们更好…

解释Socket的黏包、窗口滑动、网络抖动

1.Socket的黏包 问题&#xff1a;Socket在发送消息时&#xff0c;并不是按照我们发送多大的数据&#xff0c;它就会完封不动的发送给对方&#xff0c;这中间可能存在丢包、数据包顺序不一致、数据包不完整、重复接收到数据包等问题。 方案&#xff1a; a.定义数据协议&#x…

LeetCode(13)除自身以外数组的乘积【数组/字符串】【中等】

目录 1.题目2.答案3.提交结果截图 链接&#xff1a; 238. 除自身以外数组的乘积 1.题目 给你一个整数数组 nums&#xff0c;返回 数组 answer &#xff0c;其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素…