git基础命令

git简介

什么是git?

git是一种分布式版本控制系统。

git与svn之间的区别是什么?

  1. svn是集中式版本控制系统。
  2. git是分布式版本控制系统。

什么是集中式版本控制系统?有哪些特点?

  1. 版本库是集中存放在中央服务器。
  2. 集中式版本控制系统必须联网才能工作,本地电脑从中央服务器获取最新的版本,修改之后再推送给中央服务器。
  3. 中央服务器出现问题,会影响所有人的工作。

什么是分布式版本控制系统?有哪些特点?

  1. 分布式版本控制系统没有中央服务器,每个人的电脑上都是一个版本库。
  2. 分布式版本控制系统有一台用于交换大家修改的远程服务器,例如gitHub,gitLab。
  3. 与本地版本库的操作不需要联网。

git相比较svn有哪些优点?

  1. git可以在离线状态下继续工作,而svn不能。
  2. svn中央服务器的压力比较大,git适合分布式开发,强调个体,公共服务器压力和数据量不会太大。
  3. 适合开源项目的开发。

git常用命令

  1. $ init 初始化一个仓库。
  2. $ pwd 显示当前目录。
  3. $ git add 告诉git将文件添加到仓库。
  4. $ git commit 告诉git将文件提交到仓库。
  5. $ git commit -m “” 添加提交说明。
  6. $ git status 掌握仓库当前的状态。
  7. $ git diff readme.txt 查看修改文件具体修改情况。
  8. $ git log --pretty=oneline 查看提交记录和版本信息。
  9. $ git reset --hard XXX 版本回退。
  10. $ git reflog 查看命令历史,以便确定要回到未来的哪个版本。
  11. $ git checkout – file 丢弃工作区的修改。
  12. $ git reset HEAD file 清空暂存区。
  13. $ git rm file 删除工作区中的文件,提交后删除版本库中的文件。
  14. $ git checkout – test.txt 可以从版本库恢复到工作区。
  15. $ git remote add origin git@github.com:jiaxinxiao/learngit.git 关联github上的远程仓库。
  16. $ git push -u origin master 第一次将本地master分支的最新修改推送至github。后续可以使用git push origin master推送最新修改。
  17. $ git branch 显示分支信息。
  18. $ git checkout -b name 创建并切换到name分支上。
  19. $ git checkout -d name 删除名称为name的分支。
  20. $ git stash 可以把当前工作现场“储藏”起来,等以后恢复现场后继续工作。用于bug分支修复。
  21. $ git stash apply恢复,stash内容并不删除,需要用git stash drop删除。
  22. $ git stash pop恢复,恢复的同时把stash内容也删掉。git stash list查看stash内容。
  23. $ git branch -D 丢弃一个没有被合并过的分支。

更换远程库地址并合并代码

  1. git remote 查看远程库地址
  2. git remote rm origin 删除当前远程库
  3. git remote add origin {url} 添加新远程库地址
  4. git remote -v 查看远程仓库
  5. git fetch origin master:temp 从远程仓库获取最新版本到本地,并创建temp分支
  6. git diff temp 比较本地仓库与temp分支的区别
  7. git merge temp 合并temp分支到本地的master分支
  8. git branch -d temp 删除temp分支

如果该分支的代码之前没有merge到本地,那么删除该分支会报错,可以使用git branch -D temp强制删除该分支。

git工作区、暂存区、版本库之间的关系。

git关系图.png

定义

  1. 初始化git版本库之后会生成一个隐藏文件.git,可以理解为git的版本库repository。其中包括master和stage。
  2. 我们自己建立的项目文件夹是工作区。
  3. 在.git文件夹里面有一个index文件,就是暂存区,也叫做stage。
    ###3.2 操作
  4. git add file1 是把文件从工作区提交到暂存区,git commit -m “prompty” file1 是把文件从暂存区提交到了分支master下面。
  5. git diff 比较的是工作区和暂存区的差别
  6. git diff --cached 比较的是暂存区和版本库的差别
  7. git diff HEAD 可以查看工作区和版本库的差别

如何将本地文件上传到gitHub?

  1. git init
  2. git add .
  3. git commit -m"first commit"
  4. git remote add origin url
  5. git push -u origin master

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

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

相关文章

kk模组的具体应用场合

KK模组是一种高精度、高刚度的直线模组,广泛应用于各种自动化设备和精密仪器中。以下是KK模组的一些具体应用场合: 1、半导体设备:半导体制造过程中需要使用精密的定位和运动控制设备,KK模组作为一种高精度、高刚度的直线模组&…

Selenium——利用input标签上传文件

Selenium利用input标签上传文件 完整流程 打开文件上传页面选择要上传的文件点击上传按钮确认文件上传成功介绍怎么方便的获取对应元素的Xpath或者Css 简单介绍 在使用Selenium进行浏览器自动化测试时,文件上传是一个常见的需求。而 标签就是实现文件上传功能的…

【Python自动化】定时自动采集,并发送微信告警通知,全流程案例讲解!

文章目录 一、概要二、效果演示三、代码讲解3.1 爬虫采集行政处罚数据3.2 存MySQL数据库3.3 发送告警邮件&微信通知3.4 定时机制 四、总结 一、概要 您好!我是马哥python说,一名10年程序猿。 我原创开发了一套定时自动化爬取方案,完整开…

十一、统一网关GateWay(搭建网关、过滤器、跨越解决)

目录 一、网关技术的实现 在SpringCloud中网关的实现包括两种: 作用: 二、搭建网关服务 1、新建模块,并添加依赖 2、新建Gateway包,并编写启动类 3、编写yml文件 4、启动服务,并在网页内测试 5、步骤 三、路由断言工厂 …

Python与ArcGIS系列(九)自定义python地理处理工具

目录 0 简述1 创建自定义地理处理工具2 创建python工具箱0 简述 在arcgis中可以进行自定义工具箱,将脚本嵌入到自定义的可交互窗口工具中。本篇将介绍如何利用arcpy实现创建自定义地理处理工具以及创建python工具箱。 1 创建自定义地理处理工具 在arctoolbox中的自定义工具箱…

C++初阶 日期类的实现(下)

目录 一、输入输出(>>,<<)重载的实现 1.1初始版 1.2友元并修改 1.2.1简单介绍下友元 1.2.2修改 1.3>>重载 二、条件判断操作符的实现 2.1操作符的实现 2.2!操作符的实现 2.3>操作符的实现 2.4>,<,<操作符的实现 三、日期-日期的实现 …

Flutter笔记:Matrix4矩阵变换与案例

Flutter笔记 Matrix4矩阵变换及其案例 作者&#xff1a;李俊才 &#xff08;jcLee95&#xff09;&#xff1a;https://blog.csdn.net/qq_28550263 邮箱 &#xff1a;291148484163.com 本文地址&#xff1a;https://blog.csdn.net/qq_28550263/article/details/134474764 【简介…

java回调函数

在java中是存在回调函数的&#xff0c;我们可以把回调函数理解为一个被作为参数传递的函数。 类似于&#xff0c;我可以设置一个功能给系统&#xff0c;但是只有特定时候才会触发&#xff0c;触发的时候就会把函数作为参数的形式传递到另外的函数中。一般都是使用系统中写好的…

Vue3+Vite实现工程化,插值表达式和v-text以及v-html

1、插值表达式 插值表达式最基本的数据绑定形式是文本插值&#xff0c;它使用的是"Mustache"语法&#xff0c;即 双大括号{{}} 插值表达式是将数据 渲染 到元素的指定位置的手段之一插值表达式 不绝对依赖标签&#xff0c;其位置相对自由插值表达式中支持javascript的…

NSSCTF第13页(1)

[NCTF 2018]Easy_Audit 小小代码审计 $_REQUEST:PHP的内置变量&#xff0c;是一个数组&#xff0c;保存传递的参数&#xff0c;它的特性是如果get,post一起传参&#xff0c;则会优先post传参&#xff0c;可以由此进行变量覆盖。 $_SERVER:PHP的内置变量&#xff0c;是一个数组…

unity教程

前言 伴随游戏行业的兴起&#xff0c;unity引擎的使用越来越普遍&#xff0c;本文章主要记录博主本人入门unity的相关记录大部分依赖siki学院进行整理。12 一、认识unity引擎&#xff1f; 1、Unity相关信息&#xff1a; Unity的诞生&#xff1a;https://www.jianshu.com/p/550…

如何解决swagger-editor在线接口调试时的跨域问题

文章目录 一&#xff0c;序言二&#xff0c;问题重现1. 运行swagger-editor2. 运行接口服务3. 问题重现步骤 三&#xff0c;解决问题思路1. 去除浏览器安全限制2. 服务器接口统一处理3. 委托nginx转发 四&#xff0c;完整接口代码传送 一&#xff0c;序言 在 Docker 运行swagg…

提升 Python 执行速度:Codon、C/C++、Rust、Numba(JIT)、Taichi、Nuitka、MatxScript

几种流行的 Python 性能加速方案对比&#xff1a;https://zhuanlan.zhihu.com/p/604519817 对于一般通用场景用户&#xff0c;对性能没有那么强烈的诉求&#xff0c;紧跟官方步伐&#xff0c;升级到最新版本的 Python 既可&#xff0c;或者使用 PyPy。Numba、Codon、Taichi 等这…

电子画册真的好好用,制作也简单,都快来学学!

同纸质画册相比&#xff0c;电子画册无需受时间、空间、地域等限制&#xff0c;它通过手机、电脑即可发送文件&#xff0c;轻松实现在线浏览&#xff0c;使用起来更方便。 如何制作电子画册&#xff1f;这里同大家分享一下超简单的电子画册制作教程&#xff0c;0基础也能轻松上…

机器学习的医疗乳腺癌数据的乳腺癌疾病预测

项目视频讲解:基于机器学习的医疗乳腺癌数据的乳腺癌疾病预测 完整代码数据分享_哔哩哔哩_bilibili 效果演示: 代码: #第一步!导入我们需要的工具 import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns %matplotlib inlin…

kubenetes-容器网络接口CNI

一、CNI Kubernetes 网络模型设计的基础原则是&#xff1a; 所有的Pod能够不通过NAT(网络地址转换)就能相互访问。所有的节点能够不通过NAT就能相互访问。容器内看见的IP地址和外部组件看到的容器IP是一样的。 Kubernetes的集群里&#xff0c;IP地址是以Pod为单位进行分配的…

IoC DI

Spring 的两大核心思想 : IoC 和 AOP 我们要将对象的控制权交给Spring ,我们就需要告诉 Spring 哪些对象是需要帮我们进行创建的,这里有两类注解可以实现 : 类注解(Controller Service Repository Component Configuration)和方法注解(Bean) 这五大注解都表示把这个对象交给…

2023-11-18 LeetCode每日一题(数位和相等数对的最大和)

2023-11-18每日一题 一、题目编号 2342. 数位和相等数对的最大和二、题目链接 点击跳转到题目位置 三、题目描述 给你一个下标从 0 开始的数组 nums &#xff0c;数组中的元素都是 正 整数。请你选出两个下标 i 和 j&#xff08;i ! j&#xff09;&#xff0c;且 nums[i] …

深入理解网络协议:通信世界的基石

&#x1f482; 个人网站:【 海拥】【神级代码资源网站】【办公神器】&#x1f91f; 基于Web端打造的&#xff1a;&#x1f449;轻量化工具创作平台&#x1f485; 想寻找共同学习交流的小伙伴&#xff0c;请点击【全栈技术交流群】 在当今数字化时代&#xff0c;网络协议是连接世…

Windows下安装RabbitMQ

1.安装Erlang 因为RabbitMQ是用Erlang语言编写的&#xff0c;所以在安装RabbitMQ之前需要先安装Erlang。 如果还未安装Erlang&#xff0c;官方下载安装包&#xff0c;点击Download Windows installer下载Erlang Downloads - Erlang/OTP 下载Erlang/OTP后&#xff0c;双击otp的…