Git介绍与使用

news/发布时间2024/5/15 14:44:40

Git介绍与常用命令的使用

目录:
一、Git简介
二、Git简单命令行入门
三、Git常用命令
四、常见问题补充

一、Git简介

Git 是一个开源的分布式版本控制系统,是目前世界上最先进、最流行的版本控制系统。可以快速高效地处理从很小到非常大的项目版本管理。特点:项目越大越复杂,协同开发者越多,越能体现出 Git 的高性能和高可用性。

Git基本概念
分类介绍
工作区仓库的目录。工作区是独立于各个分支的。
暂存区数据暂时存放的区域,类似于工作区写入版本库前的缓存区。暂存区是独立于各个分支的。
版本库存放所有已经提交到本地仓库的代码版本
版本结构树结构,树中每个节点代表一个代码版本。

二、Git简单命令行入门

一键将本地文件推送到远程,使用命令+介绍

命令初始化一个新的 Git 仓库

git init

通过 git remote add 命令将远程仓库连接到您的本地仓库。

git remote add origin <远程仓库URL>

使用 git pull 命令拉取远程更新。

git pull origin master

将所有待加入暂存区的文件加入暂存区

git add .

“xxx给自己看的备注信息”:将暂存区的内容提交到当前分支

git commit -m "xxx"

推送到远程仓库(第一次提交加-u,标志用于与远程分支建立关联)

git push -u origin master

推送到远程仓库

git push

三、Git常用命令

编号命令解释
1git config --global user.name xxx设置全局用户名,信息记录在~/.gitconfig文件中
2git config --global user.email xxx@xxx.com设置全局邮箱地址,信息记录在~/.gitconfig文件中
3git init将当前目录配置成git仓库,信息记录在隐藏的.git文件夹中
4git add XX将XX文件添加到暂存区
5git add .将所有待加入暂存区的文件加入暂存区
6git rm --cached XX将文件从仓库索引目录中删掉
7git commit -m “给自己看的备注信息”将暂存区的内容提交到当前分支
8git status查看仓库状态
9git diff XX查看XX文件相对于暂存区修改了哪些内容
10git log查看当前分支的所有版本
11git reflog查看HEAD指针的移动历史(包括被回滚的版本)
12git reset --hard HEAD^ 或 git reset --hard HEAD~将代码库回滚到上一个版本
13git reset --hard HEAD^^往上回滚两次,以此类推
14git reset --hard HEAD~100往上回滚100个版本
15git reset --hard 版本号回滚到某一特定版本
16git checkout — XX或git restore XX将XX文件尚未加入暂存区的修改全部撤销
17git remote add origin <远程Git仓库地址>将本地仓库关联到远程仓库
18git push -u (第一次需要-u,以后不需要)将当前分支推送到远程仓库
19git push origin branch_name将本地的某个分支推送到远程仓库
20git clone <远程Git仓库地址>将远程仓库XXX下载到当前目录下
21git checkout -b branch_name创建并切换到branch_name这个分支
22git branch查看所有分支和当前所处分支
23git checkout branch_name切换到branch_name这个分支
24git merge branch_name将分支branch_name合并到当前分支上
25git branch -d branch_name删除本地仓库的branch_name分支
26git branch branch_name创建新分支
27git push --set-upstream origin branch_name设置本地的branch_name分支对应远程仓库的branch_name分支
28git push -d origin branch_name删除远程仓库的branch_name分支
29git pull将远程仓库的当前分支与本地仓库的当前分支合并
30git pull origin branch_name将远程仓库的branch_name分支与本地仓库的当前分支合并
31git branch --set-upstream-to=origin/branch_name1 branch_name2将远程的branch_name1分支与本地的branch_name2分支对应
32git checkout -t origin/branch_name将远程的branch_name分支拉取到本地
33git stash将工作区和暂存区中尚未提交的修改存入栈中
34git stash apply将栈顶存储的修改恢复到当前分支,但不删除栈顶元素
35git stash drop删除栈顶存储的修改
36git stash pop将栈顶存储的修改恢复到当前分支,同时删除栈顶元素
37git stash list查看栈中所有元素

四、常见问题补充

1、缺乏Git练习?

来玩Git小游戏 Learn Git Branching

2、Git 与 SVN 共同点与区别?

共同点:

  1. 版本控制系统: SVN 和 Git 都是版本控制系统,允许开发人员跟踪文件的变化、回溯到不同的版本、合并多个开发者的工作等。
  2. 协作开发: 两者都允许多个开发者协同工作在同一个项目上,管理代码的更改和集成新功能。

区别:

  1. 分布式 vs. 集中式:
  • Git 是分布式版本控制系统,每个开发者都有一个完整的本地存储库副本,可以独立地工作、提交更改和合并。
  • SVN 是集中式版本控制系统,所有代码存储在一个中央服务器上,开发者需要与服务器进行交互来获取最新代码或提交更改。
  1. 工作方式:
  • Git 通过将每个版本作为文件系统快照来管理文件的变化。每次提交时,Git 会创建一个新的快照,包含项目当前状态的副本。
  • SVN 以文件为基础,跟踪每个文件的每个版本的变化。
  1. 分支和合并:
  • Git 的分支和合并非常快速和高效,因为它在本地存储库中保存了完整的历史记录,并且分支操作仅涉及指向不同提交的指针移动。
  • SVN 的分支和合并相对复杂,涉及创建复制版本,因为它是集中式系统,没有本地完整历史记录。
  1. 性能和效率:
  • Git 在处理大型项目和分支时通常更快、更高效,因为大部分操作都在本地完成。
  • SVN 在大型项目和分支方面可能会变慢,特别是在集中式存储库上。
3、官方等相关链接?

Git下载:https://git-scm.com/download
SVN 官网:https://subversion.apache.org
Github SVN 源码:https://github.com/apache/subversion

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

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

相关文章

IT廉连看——C语言——循环语句

IT廉连看——C语言——循环语句 循环语句分为三种&#xff1a; while for do while 一、while循环 我们已经掌握了&#xff0c;if语句&#xff1a; if(条件)语句; 当条件满足的情况下&#xff0c;if语句后的语句执行&#xff0c;否则不执行。 但是这个语句只会执行一次…

Spring篇----第四篇

系列文章目录 文章目录 系列文章目录前言一、区分构造函数注入和 setter 注入二、spring 中有多少种 IOC 容器?三、区分 BeanFactory 和 ApplicationContext。四、列举 IoC 的一些好处。前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大…

Web基础02 -CSS+CSS3

目录 一、CSS 1.CSS盒模型 2.元素宽度计算 3.元素高度计算 4.宽度和高度的度量单位 5.设置元素的极限宽高 6.CSS属性&#xff08;第二部分&#xff09; &#xff08;1&#xff09;纯色背景 &#xff08;2&#xff09;图片背景 &#xff08;3&#xff09;列表样式 &am…

互联网加竞赛 大数据房价预测分析与可视

0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 大数据房价预测分析与可视 &#x1f947;学长这里给一个题目综合评分(每项满分5分) 难度系数&#xff1a;3分工作量&#xff1a;3分创新点&#xff1a;4分 该项目较为新颖&#xff0c;适合…

回归预测 | Matlab实现SSA-BiLSTM-Attention麻雀算法优化双向长短期记忆神经网络融合注意力机制多变量回归预测

回归预测 | Matlab实现SSA-BiLSTM-Attention麻雀算法优化双向长短期记忆神经网络融合注意力机制多变量回归预测 目录 回归预测 | Matlab实现SSA-BiLSTM-Attention麻雀算法优化双向长短期记忆神经网络融合注意力机制多变量回归预测预测效果基本描述程序设计参考资料 预测效果 基…

精通Django模板(模板语法、继承、融合与Jinja2语法的应用指南)

模板&#xff1a; 基础知识&#xff1a; ​ 在Django框架中&#xff0c;模板是可以帮助开发者快速⽣成呈现给⽤户⻚⾯的⼯具模板的设计⽅式实现了我们MVT中VT的解耦(M: Model, V:View, T:Template)&#xff0c;VT有着N:M的关系&#xff0c;⼀个V可以调⽤任意T&#xff0c;⼀个…

【MySQL】数据类型(常见类型)-- 详解

一、数据类型分类 二、数值类型 1、tinyint 类型 在 MySQL 中&#xff0c;整型可以指定是有符号的和无符号的&#xff0c;默认是有符号的。 有符号&#xff1a; 插入数据越界测试&#xff1a; 在 MySQL 表中建立属性列时&#xff0c;我们可以发现列名称在前&#xff0c;类型在…

【Unity自制手册】Unity—Camera相机跟随的方法大全

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;元宇宙-秩沅 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 秩沅 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a;Uni…

springboot网站开发02-接入持久层框架mybatisPlus

springboot网站开发02-接入持久层框架mybatisPlus&#xff01;经过上一小节内容分享&#xff0c;我们的项目嵌套模式框架搭建好了&#xff0c;下面就是开始编辑具体的业务代码了&#xff0c;我们使用到了持久层框架是mybatisPlus插件。下面是一些具体的植入框架的操作步骤。 第…

nginx-------- 高性能的 Web服务端 (三) 验证模块 页面配置

一、http设置 1.1 验证模块 需要输入用户名和密码 htpasswd 此命令来自于 httpd-tools 包&#xff0c;如果没有安装 安装一下即可 也可以安装httpd 直接yum install httpd -y 也一样 第一次生成文件htpasswd -c 文件路径 姓名 交互式生成密码 htpasswd -bc 文…

【经验分享】分类算法与聚类算法有什么区别?白话讲解

经常有人会提到这个问题&#xff0c;从我个人的观点和经验来说2者最明显的特征是&#xff1a;分类是有具体分类的数量&#xff0c;而聚类是没有固定的分类数量。 你可以想象一下&#xff0c;分类算法就像是给你一堆水果&#xff0c;然后告诉你苹果、香蕉、橙子分别应该放在哪里…

高并发Server的基石:reactor反应堆模式

业务开发同学只关心业务处理流程。但是我们开发的程序都是运行服务端server上&#xff0c;服务端server接收到IO请求后&#xff0c;是如何处理请求并最终进入业务流程的呢&#xff1f;这里不得不提到reactor反应堆模型。nginx tomcat redis nodejs dubbo等软件的网络处理模型都…

线阵相机参数介绍之轴编码器控制

1.1 功能介绍 编码器是将检测对象的运动与相机拍摄取图相匹配的设备&#xff0c;也即检测对象运动一定距离&#xff0c;相机就拍摄一定行高的图像。 编码器会将检测对象的实际位移转换为固定数量电信号。例如&#xff1a;编码器的精度是2000p/r,该参数的含义是编码器每转一圈输…

【Azure 架构师学习笔记】- Azure Databricks (10) -- UC 使用

本文属于【Azure 架构师学习笔记】系列。 本文属于【Azure Databricks】系列。 接上文 【Azure 架构师学习笔记】- Azure Databricks (9) – UC权限 在前面的文章&#xff1a;【Azure 架构师学习笔记】- Azure Databricks (6) - 配置Unity Catalog中演示了如何配置一个UC。 本文…

js 文件预览 在窗口设置“自定义名称”

1. 最近需要做一个点击表格某一列的标题&#xff0c;预览当前文件的一个小功能。本身功能很简单&#xff0c;点击该标题&#xff0c;预览文件&#xff0c;那么拿到他对应的文件地址&#xff0c;在浏览器打开就行了。 2. 事实如此&#xff0c;使用window.open(url, _blank);就行…

从MATLAB到MWORKS,科学计算与系统建模仿真平台的中国选项

“中国需要自主的科学计算与系统建模仿真平台。” 工业软件是所有复杂系统研发设计、仿真验证和数字制造的必备工具&#xff0c;已经成为衡量一个国家工业竞争力的核心指标。在传统工业软件领域&#xff0c;我们一直处于落后状态&#xff0c;尤其是研发设计类工业软件&#xff…

【MATLAB】CEEMD_ MFE_SVM_LSTM 神经网络时序预测算法

有意向获取代码&#xff0c;请转文末观看代码获取方式~也可转原文链接获取~ 1 基本定义 CEEMD_MFE_SVM_LSTM神经网络时序预测算法是一种结合了多种先进技术的复杂预测方法&#xff0c;旨在提高时序预测的准确性和稳定性。下面是对该算法的详细介绍&#xff1a; CEEMD&#xff…

紫光同创初使用

芯片PGC2KG-6LPG144 1、安装好软件接&#xff0c;加载license,有两个&#xff0c;与电脑MAC地址绑定的 2、正常使用后&#xff0c;新建个工程&#xff0c;配置管脚Tools→UCE 3、程序中有些信号被软件认为是时钟信号&#xff0c;会报错&#xff08;时钟输入I0约束在非专用时钟…

js之事件代理/事件委托

事件代理也叫事件委托&#xff0c;原理&#xff1a;利用DOM元素的事件冒泡&#xff0c;指定一个事件的处理程序就可以管理某一类型的所有事件。 事件冒泡和事件捕获 如上图所示&#xff0c;事件传播分成三个阶段&#xff1a; 捕获阶段&#xff1a;从window对象传导到目标节点&…

2024.2.18 C++QT 作业

思维导图 练习题 1>定义一个基类 Animal&#xff0c;其中有一个虛函数perform&#xff08;)&#xff0c;用于在子类中实现不同的表演行为。 #include <iostream>using namespace std;class Animal { public:virtual void perform() {cout << "这是一个动…
推荐文章