Git介绍与使用

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.mzph.cn/news/698930.shtml

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

相关文章

Chat With RTX 安装、使用问题记录

1.安装包运行检测环境失败 安装适合的的CUDA&#xff1a;https://developer.nvidia.com/cuda-downloads?target_osWindows&target_archx86_64&target_version11 2.安装Chat With RTX 和 模型 Mistral 7B 失败 科学上网&#xff0c;可以单独装Chat With RTX 先&…

Windows+Yolo3-darknet训练自己数据集并测试

WindowsYolo3-darknet训练自己的数据集并测试 一、首要条件 Windows 7下配置好VS2015OPENCV3.4.2YOLO3CUDA10.0CUDNN7.5生成darknet.exe。具体配置可参考我的博客&#xff1a;https://blog.csdn.net/wszswllnzn_/article/details/100760477 二.制作数据集 1、方法1 使用软件la…

ASPxGridView中使用PopupEditForm表单字段联动填充

c#中devexpress的控件ASPxGridView中使用PopupEditForm表单字段联动填充 //选择项目名称&#xff0c;自动填充项目编号 <Columns><dx:GridViewDataTextColumn FieldName"id" ReadOnly"True" VisibleIndex"0" Visible"False"…

com.alibaba.nacos.api.exception.NacosException: Request nacos server failed

问题描述 安装nacos2.0以上版本&#xff0c;启动报错:com.alibaba.nacos.api.exception.NacosException: Request nacos server failed com.alibaba.nacos.api.exception.NacosException: Request nacos server failed: at com.alibaba.nacos.client.naming.remote.gprc.Nami…

MFC 多文档程序的基本编程

下载了一个openGL mfc的多文档程序,以此来学习mfc多文档模式的编程; 1 基本编程 它每次新建一个文档,会在窗口绘制一个三角形、一个矩形;如果没有了图形刷新一下; 先看一下为什么每次打开新文档会绘制图形; 生成工程之后主要有5个类,比单文档程序多了一个子框架类; 可…

记录一下我的Ruby On Rails的systemd服务脚本

自己也是一个 ROR 框架的学习者&#xff0c;同时也是 Ruby 的新手。对于如何让 ROR 应用随系统自动启动并不是很了解。在尝试了各种方法之后&#xff0c;我最终找到了一条可行的途径。虽然不确定是否完全正确&#xff0c;但服务已经成功启动了。因此&#xff0c;我决定在这里保…

hive中如何取交集并集和差集

交集 要获取两个表的交集&#xff0c;你可以使用INNER JOIN或者JOIN&#xff1a; SELECT * FROM table1 JOIN table2 ON table1.column_name table2.column_name;也可以使用 INTERSECT 关键字 SELECT * FROM table1 INTERSECT SELECT * FROM table2;并集 要获取两个表的并集…

华为HCIP Datacom H12-831 卷23

单选题 1、某园区部署IS-IS实现网络互通&#xff0c;在所有IS-IS路由器的进程中配置命令flash-flood 6 max-timer-interval 100 Leve1-2&#xff0c;则以下关于该场景的描述,正确的是哪—项? A、若某IS-IS路由器LSDB内更新的LSP数量为5,则在100毫秒内且路由计算完成前&#…

Java向ES库中插入数据报错:I/O reactor status: STOPPED

Java向ES库中插入数据报错&#xff1a;java.lang.IllegalStateException: Request cannot be executed; I/O reactor status: STO 一、问题问题原因 二、解决思路 一、问题 在使用Java向ES库中插入数据时&#xff0c;第一次成功插入&#xff0c;第二次出现以下错误&#xff1a…

【力扣经典面试题】238. 除自身以外数组的乘积

目录 一、题目描述 二、题解分析 思路&#xff1a; 算法步骤&#xff1a; 代码(C版)&#xff1a; 三、总结 一、题目描述 给你一个整数数组 nums&#xff0c;返回 数组 answer &#xff0c;其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证…

【八股文面试】Java基础常见面试题总结(上)

Java基础常见面试题总结(上) Java有哪些特性 简单易学&#xff1b;面向对象&#xff08;封装&#xff0c;继承&#xff0c;多态&#xff09;&#xff1b;平台无关性&#xff08; Java 虚拟机实现平台无关性&#xff09;&#xff1b;支持多线程&#xff08; C 语言没有内置的多…

K8S-001-Virtual box - Network Config

A. 配置两个IP&#xff0c; 一个连接内网&#xff0c;一个链接外网: 1. 内网配置(Host only&#xff0c; 不同的 virutal box 的版本可以不一样&#xff0c;这些窗口可能在不同的地方&#xff0c;但是配置的内容是一样的): 静态IP 动态IP 2. 外网&#xff08;创建一个 Networ…

petalinux_zynq7 驱动DAC以及ADC模块之一:建立IP

0. 环境 - ubuntu18 - vivado 2018.3 - mizar z7010 ada106模块 1. vivado 1.1 创建vivado工程 运行vivado source /tools/Xilinx/Vivado/2018.3/settings64.sh vivado& 创建vivado工程 Vivado -> Create Project -> Next -> -> Project name: …

下载 axios.js 文件到本地【linux】

方式一 npm install axios在$NODE_PATH/node_modules/axios/dist路径下即可找到axios.js。 方式二 1、百度搜索 GitHub 官网&#xff1a;https://github.com/ 2、搜索 axios 3、点击 axios/axios 4、下载到本地 5、解压&#xff0c;进入到 dist 文件夹** 参考&#x…

30题ctf总结

命令执行 [WUSTCTF2020]朴实无华1-CSDN博客 命令执行 [强网杯 2019]高明的黑客1-CSDN博客 cookie伪造 [BSidesCF 2019]Kookie1-CSDN博客 sql注入 [极客大挑战 2019]FinalSQL1-CSDN博客 模板注入 [BJDCTF2020]Cookie is so stable1-CSDN博客 命令绕过 [安洵杯 2019]easy_web1…

Linux 可视化管理-webmin 和 bt 运维工具安装教程

Linux 可视化管理-webmin 和 bt 运维工具安装教程 webmin webmin 是功能强大的基于 Web 的 Unix/linux 系统管理工具。管理员通过浏览器访问 Webmin 的各种管理功能并完成相应的管理操作。除了各版本的 linux 以外还可用于&#xff1a;AIX、HPUX、Solaris、Unixware、Irix 和…

C语言之mkdtemp()特定占位符:XXXXXX 用法实例(八十五)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…

Ps:原色通道直方图(CMYK)

在 CMYK 颜色模式下&#xff0c;Photoshop 的“通道”面板中有青色、洋红、黄色及黑色四个原色通道。 与 RGB 颜色模式基于光的加法混合不同&#xff0c;CMYK 颜色模式基于颜料的减法混合&#xff0c;更适合反映实际印刷中油墨的使用情况。 默认情况下&#xff0c;CMYK 原色通道…

【C语言】整型变量与字符变量在任何情况下都可以互相代替吗?

解答&#xff1a; 在C语言中&#xff0c;整型变量和字符变量在某些情况下可以互相代替&#xff0c;但并非在任何情况下都可以互相代替。 char c A; int i c; printf("%d\n", i); // 输出65int j 65; char ch j; printf("%c\n", ch); // 输出A 在这个例…

动态绑定样式,uniapp,用三元运算动态绑定多个class类样式,动态绑定的样式可以和原始样式共存

介绍 | uni-app官网 vue、uniapp中动态添加绑定style、class 9种方法实现_vue style动态绑定-CSDN博客 uniapp使用三元运算符动态绑定元素的style样式_uniapp style动态绑定-CSDN博客 对象写法,可以写多个class类 class类的名字&#xff1a;判断条件&#xff0c;最后结果只有…