Git命令行的使用

news2025/1/7 13:51:15

目录

一、什么是Git

1、本地仓库 vs 远端仓库

本地仓库

远端仓库

2、.git vs .gitignore

.git

.gitignore

二、使用Git命令

1、安装git

2、git首次使用需要配置用户邮箱和用户名

3、上传目录/文件到远端仓库步骤

1)创建放置文件的目录

2)cd 仓库名

3)cp ../目录文件 . -rf

4)git add

5)git commit

6)git push 

4、一些git指令

1)git log 

2)git status 

一、什么是Git

Git是一个开源的分布式版本控制系统。

1、本地仓库 vs 远端仓库

本地仓库

  1. 定义:本地仓库是指开发者在本地计算机上创建的仓库,用于保存项目文件和版本历史。
  2. 作用:开发者可以在本地仓库中进行所有的版本控制操作,如提交(commit)、分支(branch)、合并(merge)等。
  3. 特点:本地仓库是私有的,只有创建它的开发者可以访问。
  4. 同步:开发者可以通过git push命令将本地仓库的更改推送到远端仓库,也可以通过git pull命令从远端仓库拉取最新的更改。

远端仓库

  1. 定义:远端仓库是指托管在服务器上的仓库,可以是私有的也可以是公开的,如GitHub、GitLab、Bitbucket等。
  2. 作用:远端仓库用于备份项目,以及让多个开发者协同工作。开发者可以推送(push)和拉取(pull)代码,共享代码更改。
  3. 特点:远端仓库是公共的,可以被多个开发者访问,用于代码的共享和协作。
  4. 同步:开发者可以通过网络与远端仓库同步代码,确保团队成员都能访问到最新的代码更改。

2、.git vs .gitignore

.git

.git 是一个隐藏目录,它包含了一个 Git 仓库的所有元数据和对象数据库。这个目录是 Git 版本控制的核心,它存储了项目的整个历史记录、分支信息、配置、提交对象、树对象和 blob 对象等。当你在项目中初始化一个新的 Git 仓库时,这个目录就会被创建。

.gitignore

.gitignore 是一个文件,用于告诉 Git 忽略特定的未跟踪文件或目录,不让它们被加入到版本控制中。文件的规则如下:

  • 空白行:被忽略。
  • 注释:以 # 开头的行被当作注释。
  • 文件名模式:直接指定文件名来忽略。
  • 目录名模式:以 / 结尾的模式表示目录。
  • 通配符:使用 *? 和 [...] 等通配符来匹配文件名。
  • 否定模式:以 ! 开头的模式表示不忽略(即包含)某个文件或目录。
# 忽略所有的 .log 文件
*.log

# 忽略 doc/ 目录下的所有文件
doc/

# 包含 doc/notes.txt 文件,即使 doc/ 目录被忽略
!doc/notes.txt

# 忽略 doc/ 目录下的所有 .pdf 文件
doc/*.pdf

二、使用Git命令

1、安装git

在Xshell中安装git

yum install git

2、git首次使用需要配置用户邮箱和用户名

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

3、上传目录/文件到远端仓库步骤

1)创建放置文件的目录

git clone [url](上述红框)

2)cd 仓库名

进入仓库目录中

3)cp ../目录文件 . -rf

将要提交的目录文件拷贝到该仓库目录下

4)git add

将文件/目录添加到暂存区

添加单个文件:git add <file>
添加多个文件:git add <file1> <file2>
添加所有更改的文件:git add .
添加目录:git add <directory>
添加更改的文件,但不包括新文件和删除的文件:git add -u

5)git commit

将暂存区中的文件/目录提交到本地仓库

git commit -m "(对提交内容的介绍说明)"

6)git push 

将本地仓库内容同步到远端服务器上。需要填入用户名和密码

git push

配置免密码提交方法

4、一些git指令

1)git log 

查看提交历史记录

2)git status 

用于显示当前工作目录的状态。该命令会告诉你哪些文件被修改了、哪些文件处于暂存区(staged)、哪些文件尚未跟踪(untracked),以及当前检出的是哪个分支等信息。

  1. 未跟踪的文件(Untracked files)

    这些文件在当前目录中,但尚未被 Git 跟踪。如果你想要将这些文件添加到版本控制中,你需要使用 git add 命令。
  2. 已修改但未暂存的文件(Changes not staged for commit)

    这些文件自上次提交以来已经被修改,但还没有被添加到暂存区。你可以使用 git add 将它们暂存,或者使用 git checkout 将它们撤销到上次提交的状态。
  3. 已暂存的文件(Changes to be committed)

    这些文件已经被添加到暂存区,准备好了被提交。你可以使用 git commit 命令来提交这些更改。
  4. 当前分支信息

    git status 会显示你当前所在的分支名称,以及你是否与远程分支同步。
  5. 与远程分支的差异

    如果你的本地分支落后或领先于远程分支,git status 会显示你需要拉取(pull)或推送(push)更改。

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

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

相关文章

法律专业legal case的留学论文写作技巧分析(1)

对于法律专业的留学生而言&#xff0c;案例的分析是写作的重要方面。无论留学的国家是英、美、澳洲还是加拿大&#xff0c;它们都属于case law 的法律体系。一个非常显著的特点便是通过对案例进行分析和提炼&#xff0c;从中总结提炼出principle和rules。case analysis的留学论…

一文理解区块链

一文搞懂区块链 区块链的诞生&#xff0c;源于对 电子货币&#xff08;e-money&#xff09; 的探索需求&#xff0c;即Bitcoin的产生。因此&#xff0c;了解的小伙伴应该知道区块链的常见定义是&#xff1a;不可篡改的分布式账本。 为什么发明“账本”&#xff0c;而不是直接发…

C 实现植物大战僵尸(四)

C 实现植物大战僵尸&#xff08;四&#xff09; 音频稍卡顿问题&#xff0c;用了 SFML 三方库已优化解决 安装 SFML 资源下载 https://www.sfml-dev.org/download/sfml/2.6.2/ C 实现植物大战僵尸&#xff0c;完结撒花&#xff08;还有个音频稍卡顿的性能问题&#xff0c;待…

编程入门(2)-2024年 RAD Studio version 12发布综述

随着2024年即将画上句号&#xff0c;我想借此机会回顾一下我们在这一年中发布的一些Embarcadero产品、行业趋势&#xff0c;并感谢我们尊贵的客户们对我们的产品一如既往的支持。这一年对我们来说充满了激动人心的变化和发展&#xff0c;我们非常高兴能与您一起踏上这段旅程。 …

[Day 12]904.水果成篮

今天给带来的题目是滑动窗口的另一种题目&#xff0c;之前我们讲了滑动窗口题目中长度最小的子数组&#xff0c;今天这个题目实际上是求长度最长的子数组 题目描述&#xff1a;力扣链接 904.水果成篮 你正在探访一家农场&#xff0c;农场从左到右种植了一排果树。这些树用一个整…

SpringBoot 2.6 集成es 7.17

引言 在现代应用开发中&#xff0c;Elasticsearch作为一个强大的搜索引擎和分析引擎&#xff0c;已经成为许多项目不可或缺的一部分。Spring Boot作为Java生态中最受欢迎的微服务框架之一&#xff0c;其对Elasticsearch的支持自然也是开发者关注的焦点。本文将详细介绍如何在S…

【数据仓库】hive on Tez配置

hive on Tez 搭建 前提是hive4.0hadoop3.2.2数仓已搭建完成&#xff0c;现在只是更换其执行引擎 为Tez。搭建可参考【数据仓库】hive hadoop数仓搭建实践文章。 Tez 下载 下载地址 https://archive.apache.org/dist/tez/ 官网地址 https://tez.apache.org/releases/apac…

云备份项目--客户端编写

文章目录 10. 客户端工具类10.1 整体的类10.2 测试 11 客户端数据管理类11.1 整体的类11.2 测试 12. 客户端业务处理12.1 整体的类 完整的代码–gitee链接 10. 客户端工具类 10.1 整体的类 在windows平台下进行开发&#xff0c;Util.hpp实际上是客户端FileUtil.hpp和JsonUtil…

MySQL 的事务与多版本并发控制(MVCC)的那些事

什么是事务原子性:一致性隔离性 问题1: 为什么MySQL要使用mvcc实现隔离性而不使用 锁 解决并发问题?持久性 问题2: MySQL 不是磁盘数据库吗,持久化为什么是 redo log 保证的?问题 3: redo log 储存了什么东西,持久化(崩溃恢复是怎么做的?)问题 4 : MySQL 的 bing log (二进制…

Eplan 项目结构(高层代号、安装地点、位置代号)

Eplan中的项目结构分为3个层次&#xff1a; &#xff08;1&#xff09;功能面结构。指明这个系统的功能&#xff0c;有什么用途。在EPlan中&#xff0c;指的就是"高层代号&#xff08;&#xff09;"。 一般指的是线体。 &#xff08;2&#xff09;位置面结构。指明该…

OWASP ZAP之API 请求基础知识

ZAP API 提供对 ZAP 大部分核心功能的访问,例如主动扫描器和蜘蛛。ZAP API 在守护进程模式和桌面模式下默认启用。如果您使用 ZAP 桌面,则可以通过访问以下屏幕来配置 API: Tools -> Options -> API。 ZAP 需要 API 密钥才能通过 REST API 执行特定操作。必须在所有 …

短信通知在 IOS 17/18 中不起作用?这是修复方法

问题 “我最近将 iPhone 更新到了 iOS 17/18。我真的很兴奋&#xff0c;直到我发现 iOS 17/18 中没有 iMessage 文本通知。此后我的兴奋变成了失望。请告诉我如何解决这个问题&#xff1f; ” 我们知道这可能是一个大问题&#xff0c;因为我们通常不会打开消息应用程序&#…

从0开始的opencv之旅(1)cv::Mat的使用

目录 Mat 存储方法 创建一个指定像素方式的图像。 尽管我们完全可以把cv::Mat当作一个黑盒&#xff0c;但是笔者的建议是仍然要深入理解和学习cv::Mat自身的构造逻辑和存储原理&#xff0c;这样在查找问题&#xff0c;或者是遇到一些奇奇怪怪的图像显示问题的时候能够快速的想…

机场安全项目|基于改进 YOLOv8 的机场飞鸟实时目标检测方法

目录 论文信息 背景 摘要 YOLOv8模型结构 模型改进 FFC3 模块 CSPPF 模块 数据集增强策略 实验结果 消融实验 对比实验 结论 论文信息 《科学技术与工程》2024年第24卷第32期刊载了中国民用航空飞行学院空中交通管理学院孔建国, 张向伟, 赵志伟, 梁海军的论文——…

《Rust权威指南》学习笔记(二)

枚举enum 1.枚举的定义和使用如下图所示&#xff1a; 定义时还可以给枚举的成员指定数据类型&#xff0c;例如&#xff1a;enum IpAddr{V4(u8, u8, u8, u8),V6(String),}。枚举的变体都位于标识符的命名空间下&#xff0c;使用::进行分隔。 2.一个特殊的枚举Option&#xff0…

OSI模型的网络层中产生拥塞的主要原因?

&#xff08; 1 &#xff09;缓冲区容量有限&#xff1b;&#xff08; 1.5 分&#xff09; &#xff08; 2 &#xff09;传输线路的带宽有限&#xff1b;&#xff08; 1.5 分&#xff09; &#xff08; 3 &#xff09;网络结点的处理能力有限&#xff1b;&#xff08; 1 分…

linux上安装MySQL教程

1.准备好MySQL压缩包&#xff0c;并进行解压 tar -xvf mysql-5.7.28-1.el7.x86_64.rpm-bundle.tar -C /usr/local 2.检查是否有mariadb数据库 rpm -aq|grep mariadb 关于mariadb:是MySQL的一个分支&#xff0c;主要由开源社区在维护&#xff0c;采用GPL授权许可 MariaDB的目…

R语言中的时间序列分析·

1 数据集说明 AirPassengers 1949~1960年每月乘坐飞机的乘客数 JohnsonJohnson Johnson&Johnson每股季度收入 nhtemp 康涅狄格州纽黑文地区从1912年至1971年每年的平均气温 Nile 尼罗河的流量 sunspots 1749年~1983年月平均太阳黑子数 2 相关包 xts、forecast、tser…

LookingGlass使用

背景 Looking Glass 是一款开源应用程序&#xff0c;可以直接使用显卡直通的windows虚拟机。 常见环境是Linux hostwindows guest&#xff0c;基本部署结构图&#xff1a; 编译 git clone --recursive https://github.com/gnif/LookingGlass.git编译client mkdir client/b…

HCIA-Access V2.5_7_3_XG(S)原理_关键技术

为什么需要测距 因为上行链路只有一根纤,而且每一个ONU到OLT的距离是不一样的,虽然上行通过TDMA技术,让每一个ONU在不同的时间段发送数据,但是仍然有可能在同一时刻到达分光器,产生数据冲突。 有测距的信元传输 所以为了避免碰撞冲突,通过ONU在注册的时候就会启动测距…