Git命令行的使用

目录

一、什么是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)更改。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Genome Research | 俄亥俄州立于忠堂组-结合深度学习与蛋白质数据库系统探究反刍动物真核微生物...

结合深度学习与蛋白质数据库系统探究反刍动物真核微生物 Probing the eukaryotic microbes of ruminants with a deep-learning classifier and comprehensive protein databases 期刊&#xff1a;Genome Research DOI&#xff1a;https://doi.org/10.1101/gr.279825.124 第一作…

unity 播放 序列帧图片 动画

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、方法一&#xff1a;代码控制播放序列帧1、设置图片属性2、创建Image组件3、简单的代码控制4、挂载代码并赋值 二、方法二&#xff1a;直接使用1.Image上添加…

UE5中实现右键开镜效果

右键之后添加时间轴&#xff0c;然后设置视野即可。Set Field Of View 时间轴设置&#xff0c;第一个点设置0,90度&#xff0c;因为默认的就是90度 第二个点看武器的类型或者倍境来设置&#xff0c;时间就是开镜时间&#xff0c;值越小开镜速度越快&#xff0c;第二个值就是视野…

Nginx:限流限速

1. 什么是限流限速? 限流限速是Nginx运维中一个非常重要的功能,用于防止服务器过载和保护资源免受滥用。它可以通过限制客户端的请求速率或上传/下载速度来实现。 限流:控制单位时间内允许处理的请求数量。这有助于防止过多的并发请求导致服务器性能下降或崩溃。限速:限制…

C++ 日志库 spdlog 使用教程

Spdlog是一个快速、异步、线程安全的C日志库&#xff0c;他可以方便地记录应用程序的运行状态&#xff0c;并提供多种输出格式。官网&#xff1a;https://github.com/gabime/spdlog 安装教程可以参考&#xff1a;https://blog.csdn.net/Harrytsz/article/details/144887297 S…

音视频入门基础:MPEG2-PS专题(3)——MPEG2-PS格式简介

一、引言 本文对MPEG2-PS格式进行简介。 进行简介之前&#xff0c;请各位先下载MPEG2-PS的官方文档。ITU-T和ISO/IEC都分别提供MPEG2-PS的官方文档。但是ITU提供的文档是免费的&#xff0c;ISO/IEC是付费的&#xff0c;所以我们主要阅读ITU提供的官方文档&#xff0c;比如较新…

Multisim更新:振幅调制器+解调器(含仿真程序+文档+原理图+PCB)

前言 继3年前设计的&#xff1a;Multisim&#xff1a;振幅调制器的设计&#xff08;含仿真程序文档原理图PCB&#xff09;&#xff0c;有读者表示已经不能满足新需求&#xff0c;需要加上新的解调器功能&#x1f602;&#x1f602;&#x1f602;&#xff0c;鸽了很久这里便安排…

BGP(Border Gateway Protocol)路由收集器

全球 BGP&#xff08;边界网关协议&#xff09;路由收集器的分布情况以及相关数据。以下是主要的信息解读&#xff1a; 地图标记&#xff1a; 每个绿色点代表一个路由收集器的位置。路由收集器分布在全球不同的地区&#xff0c;覆盖了五大区域&#xff1a; ARIN&#xff08;美…

【Rust自学】10.5. 生命周期 Pt.1:生命周期的定义与意义、借用检查器与泛型生命周期

喜欢的话别忘了点赞、收藏加关注哦&#xff0c;对接下来的教程有兴趣的可以关注专栏。谢谢喵&#xff01;(&#xff65;ω&#xff65;) 10.5.1. 什么是生命周期 Rust的每个引用都有自己的生命周期&#xff0c;生命周期的作用是让引用保持有效&#xff0c;也可以说它是保持引…

Vue2: table加载树形数据的踩坑记录

table中需要加载树形数据,如图: 官网给了两个例子,且每个例子中的tree-props都是这么写的: :tree-props="{children: children, hasChildren: hasChildren}" 给我一种错觉,以为数据结构中要同时指定children和hasChildren字段,然而,在非懒加载模式下,数据结…

深入了解 SSL/TLS 协议及其工作原理

深入了解 SSL/TLS 协议及其工作原理 一. 什么是 SSL/TLS?二. SSL/TLS 握手过程三. SSL/TLS 数据加密与传输四. 总结 点个免费的赞和关注&#xff0c;有错误的地方请指出&#xff0c;看个人主页有惊喜。 作者&#xff1a;神的孩子都在歌唱 一. 什么是 SSL/TLS? 安全套接层&am…

sqlserver sql转HTMM邮件发送

通过sql的形式&#xff0c;把表内数据通过邮件的形式发送出去 declare title varchar(100) DECLARE stat_date CHAR(10),create_time datetime SET stat_dateCONVERT(char(10),GETDATE(),120) SET create_timeDATEADD(MINUTE,-20,GETDATE()) DECLARE xml NVARCHAR (max) DECLAR…

用QT实现 端口扫描工具1

安装在线QT&#xff0c;尽量是完整地自己进行安装&#xff0c;不然会少包 参考【保姆级图文教程】QT下载、安装、入门、配置VS Qt环境-CSDN博客 临时存储空间不够。 Windows系统通常会使用C盘来存储临时文件。 修改临时文件存储位置 打开系统属性&#xff1a; 右键点击“此电…

Selenium 自动化,如何下载正确的 ChromeDriver

在 Python 的 Selenium 自动化操作中&#xff0c;chromedriver 是不可或缺的驱动程序。没有正确安装对应版本的驱动&#xff0c;运行代码时常常会遇到报错问题&#xff0c;比如 “session not created: This version of ChromeDriver only supports Chrome version XX”。 今天…

泊松融合 实例2025

目录 例子1: 实现代码: 原作者代码: 本博客直接给出来最好的效果和源代码 参数说明: 效果不好,不推荐的参数:MONOCHROME_TRANSFER,NORMAL_CLONE 例子1: 目标图: 原图: 效果图: 实现代码: 坐标是要目标图上中心点坐标: import cv2if __na

前端如何从入门进阶到高级

在前端学习的道路上&#xff0c;我们将其划分为三个阶段&#xff1a;入门、实战和进阶。以下是各阶段的学习指南 一、入门阶段 在入门阶段&#xff0c;我们的目标是掌握前端的基本语法和知识&#xff0c;以便能够独立解决一些基础问题。这一阶段&#xff0c;我们建议通过视频…

Python爬虫基础——认识网页结构(各种标签的使用)

1、添加<div>标签的代码定义了两个区块的宽度和高度均为100px&#xff0c;边框的格式也相同&#xff0c;只是区块中显示的内容不同&#xff1b; 2、添加<ul>和<ol>标签分别用于定义无序列表和有序列表。<il>标签位于<ul>标签或<ol>标签之…

基于W2605C语音识别合成芯片的智能语音交互闹钟方案-AI对话享受智能生活

随着科技的飞速发展&#xff0c;智能家居产品正逐步渗透到我们的日常生活中&#xff0c;其中智能闹钟作为时间管理的得力助手&#xff0c;也在不断进化。基于W2605C语音识别与语音合成芯片的智能语音交互闹钟&#xff0c;凭借其强大的联网能力、自动校时功能、实时天气获取、以…

Python提取目标Json键值:包含子嵌套列表和字典

目标&#xff1a;取json中所有的Name、Age字典 思路&#xff1a;递归处理字典中直接包含子字典的情况&#xff0c; import jsondef find_targ_dicts(data,key1,key2):result {}if isinstance(data, dict):if key1 in data and key2 in data: # 第一层字典中包含key1和key2re…

你已经分清JAVA中JVM、JDK与JRE的作用和关系了吗?

你已经分清JAVA中JVM、JDK与JRE的作用和关系了吗&#xff1f; 一. JVM、JDK与JRE的关系二. JVM、JDK与JRE的作用2.1 什么是JVM&#xff1f;2.2 什么是JDK&#xff1f;2.3 什么是JRE&#xff1f; 前言 点个免费的赞和关注&#xff0c;有错误的地方请指出&#xff0c;看个人主页有…