git仓库与本地暂存区的同步问题
向下同步
对于远程仓库的项目,初始化一个配置文件,配置远程仓库及相关信息,赋值远程仓库的地址,使用git pull命令即可拉取仓库代码。
git pull [remote_addr]
该部分完成向下同步
向上同步
向上同步时会遇到很多的问题,比较顺利的是add,commit,push没有障碍。
git add .
项目文件添加到工作区
git commit -m "msg"
项目文件添加到暂存区
git push [remote_addr] [remote_git]:[local_git]
项目文件推送到远程仓库
如果遇到障碍一般会遇到两个层面的障碍:
- 工作区与暂存区同步
git一般都有.gitignore
用户屏蔽非必要文件。工作区是未和git产生联系的目录,此时还未进入git版本管理,.gitignore
可以选择那个文件将会被提交到缓冲区。
.gitignore文件的使用方法 首先,在你的工作区新建一个名称为.gitignore的文件。 然后,把要忽略的文件名填进去,Git就会自动忽略这些文件。github上有一些常用的忽略文件
使用gitignore
文件实现工作区与缓存区的文件筛选。
在git代码提交时首先通过git add
将命令添加到缓冲区,这个步骤在有些ide中会自动完成。只有先提交到缓存区的代码才会进入git版本记录。
git工作区可以理解为开发者可以看得见的,任意编辑的文件,例如如下文件夹
这里的所有内容都是工作区的内容,通过使用了git add
命令将文件并使用gitignore
筛选后提交到缓存区。
需要将那么些文件添加到工作区可以使用如下命令:
git add * # 将工作区所有修改添加到暂存区
git add . # 将工作区所有修改添加到暂存区
git add <file-name> # 将指定文件添加到暂存区
git add *.js # 提交所有 .js 格式文件
git add -f <file-name> # 强制添加 指定文件添加到暂存区# 注:<file-name> 指的是文件的名称
在commit时一般将所有文件提交,所以git add最好时有选择性的提交。
如下初始化一个git仓库将所有内容添加到工作区中
git status
查看状态
此时代码已经被提交到缓冲区了。
如果gitignore漏写导致提交了一些无关代码该如何撤回或者删除呢?
git reset
命令撤销缓存文件
使用git reset命令撤销.idea文件
git reset命令
git reset <file-name> # 从暂存区恢复指定到工作区
git reset . # 从暂存区恢复所有文件到工作区
git reset --hard # 把暂存区的修改退回到工作区
git reset撤销就是恢复未使用git add命令之前。
这里会遇到的问题是git commit后git reset会导致本地仓库和缓存区不一样,该问题在会面讲解。
git reset是撤回commit的操作也就是撤回本地仓库的提交,由于缓存区(git add)和本地仓库(git commit)是联级操作的因此再git rest也能对缓存区撤回
(简单来水就是reset是撤回commit的,由于缓存区和本地仓库要是联级操作,没有commit直接撤回了add的内容)
git restore
命令是专属用来撤销缓存区代码的,也就是返回git add之前的状态。
该命令又分两种情况,缓存区的内容和本地仓库内容是否一致,如果对文件增加了新的功能话,比本地仓库内容多,再git restore是就需要考虑是否保留这些内容。
git restore --staged
将本地仓库的内容撤销到缓存区并保留修改
git restore
将本地仓库内容撤销到缓存区不保留修改
git restore就是撤回git add提交。
例如,git add添加新文件
git resotre撤回并保留工作区修改,如果不用–staged那么新追加的代码就消失了
撤销了缓存:
😃😃😃😃git reset
和git restore
相似之处在于他们都能撤回缓存区内容,也就是git add的内容,(reset是由于联级操作完成);不同之处在于rest还可以操作本地仓库即(commit的内容),后者只能操作缓存区。
看上图,查看本地仓库没有.idea/etcd.iml
文件(没有commit),使用git reset命令撤回了缓存区的该文件Untracked fiels
出现了该文件。
如上图,说明git restore并不能撤回本地仓库的文件。
如上图所示,git restore撤回缓存区内容。
git status
😀😁用于查看工作区、暂存区的状态,会经常用到。
git rm --cached <file-name>
命令将本地暂存区的内容移除,直接删除文件的git索引,从而删除文件跟踪。
git rm
直接将本地仓库和缓存区的内容直接删除了。
- 暂存区与本地仓库同步
git commit
将暂存区的内容提交到本地仓库,如下未当前缓存区内容:
git commit
将缓存区全部内容提交,因此在工作区提交到缓存区是需要认证筛选。如下,git commit命令提交代码
git commit <file-name> ... "相关的记录信息" # 将缓存区的指定文件提交到本地仓库
git commit -m "相关的记录信息" # 将缓存区的所有文件提交到本地仓库
如果缓存区没有仔细筛选,导致不必要文件提交到了本地仓库,git也提供了git revert
撤销提交。
git revert HEAD
注意revert命令会回溯到前一个commit的版本,如果只有一个版本,那么本地文件也会消失,注意revert时一定要大于一个版本。
git rm
删除本地仓库的文件
git提交了多余的内容或者想删除之前提交的内容,可以使用该命令,对本地仓库的操作都是联级操作,对本地仓库的操作和缓存区是同步的。
git rm --cached
注意一定要携带-cached
不然会将本地文件一起删除了,除非完全不需要了。
把.idea文件直接删除了是无效的,因为此时的删除只是把工作区删除了,缓存区还在,本地仓库。这次文件仍然在commit的本地仓库,在写新代码是新代码不断从工作区git add,再git commit,被merge到commit的本地仓库。如下图
直接删除只是将工作区的文件删除了,缓存区和本地仓库仍然存在,可查看,
git status
查看缓存区文件状态
git ls-files -c
查看本地仓库文件状态git ls-files -h获取更多命令
git直接检索出了文件目录下被删除的文件,也给出了方法(git add重新添加,git rm删除工作区文件,git restore)
git ls-files --help
查看有关本地文件的命令
通过git rm
删除缓存区内容,git rm命令比较特殊是链级删除,首先本来开发者就要删除文件目录的文件,又要删除工作区和暂存区,rm就很好完成该工作,一次性删除三个位置的文件,分三种情况:
(未commit,已add,只删除add的部分;以commit,以add,全部删除;未commit,未add,删除不了,未与git所有)
不会出现以commit,未add的情况,应为commit和add是关联的,一样的。另外删除均将文件目录的文件也删除了。
由于git在提交时都是从缓存区全部提交,因此在删除本地仓库时缓存区也同步删除了,这也是必须的,不然下次再提交如果缓存区还存在又被提交上去了,一次类推,对本地仓库的操作都是和缓存区同步的,这些有git系统自动完成。
git revert
是通过切换不同的提交版本号实现代码回溯,git rm
是直接删除文件,git reset
是撤回缓存区提交的内容,这些命令各有不同但都能实现代码回溯功能,而且缓存区随本地仓库自动变化。
更多问题请移步论坛Git问答
极客笔记™ - 深入浅出打磨IT笔记
相关文章:
![](https://img-blog.csdnimg.cn/205ea34918a344dfa85d9d8c4ed9411b.png)
git仓库与本地暂存区的同步问题
向下同步 对于远程仓库的项目,初始化一个配置文件,配置远程仓库及相关信息,赋值远程仓库的地址,使用git pull命令即可拉取仓库代码。 git pull [remote_addr] 该部分完成向下同步 向上同步 向上同步时会遇到很多的问题…...
![](https://www.ngui.cc/images/no-images.jpg)
MATLAB算法实战应用案例精讲-【图像处理】图像分类模型-LeNetAlexNetVGG
目录 LeNet 模型介绍 模型结构 模型实现 模型特点 模型指标 AlexNet...
![](https://www.ngui.cc/images/no-images.jpg)
ArcGIS API for JavaScript 4.x 教程(二)切换基础地图图层
了解如何更改地图中的基础地图图层。 基础地图图层: 基础地图层是用于访问和显示来自基础地图层服务的数据的层。它为地图或场景提供视觉和地理上下文,通常包含具有管理边界和地名的全局数据。 基本地图图层服务提供了许多基本地图图层样式,例…...
![](https://www.ngui.cc/images/no-images.jpg)
SpringBoot——如何读写使用JSON文件保存的数据
文章目录 1. 将数据写入JSON文件2. 从JSON文件读取数据2.1 读取单个对象2.2 读取对象列表 1. 将数据写入JSON文件 要将数据写入JSON文件,可以使用Spring Boot中提供的Jackson库。Jackson库是处理JSON的Java库,可以轻松地将对象转换为JSON字符串ÿ…...
![](https://img-blog.csdnimg.cn/45cd30ae16f94ef9bc94ab54d24e0207.png)
SDU Crypto School - 计算不可区分性1
Encryption: Computational security 1-4 主讲人:李增鹏(山东大学) 参考教材:Jonathan Katz, Yehuda Lindell, Introduction to Modern Cryptography - Principles and Protocols. 什么是加密 首先,加密方案的目的在于…...
![](https://www.ngui.cc/images/no-images.jpg)
win11 vscode torch 编译遇错
1. 错误内容: Failed to build pc-util ERROR: Could not build wheels for pc-util, which is required to install pyproject.toml-based projects NativeCommandExitException: Program “pip.exe” ended with non-zero exit code: 2.问题分析: pip出…...
![](https://img-blog.csdnimg.cn/230e14e5b3154e9e9e8f5313ba3c0add.bmp#pic_center)
Markdown系列之Flowchat流程图
一.欢迎来到我的酒馆 介绍Markdown的Flowchart流程图语法。 目录 一.欢迎来到我的酒馆二.什么是Flowchart三.更进一步 二.什么是Flowchart 2.1 Flowchart是一款基于javascript的工具,使用它可以用代码创建简单的流程图。具体信息可以查看flowchart官网:…...
![](https://img-blog.csdnimg.cn/b19b38ddd2704bc99faba6711dc9f122.png)
小程序wx:else提示 Bad attr `wx
问题:以下wx:for里的wx:if , wx:else 会报这个错:Bad attr wx <scroll-view class"scroll1" scroll-x enable-flex"true"><view wx:if"{{playlist.length>0}}" class"item" wx:for"…...
![](https://img-blog.csdnimg.cn/957895d4ca5842c59089921e44b61b91.png)
halcon 学习笔记
图像的参数 图形参数 Iconic, 包括 image, region, XLD 1.1 image 图像由一个或者多个通道组成,是大小相同的矩阵,包含各种像素类型的灰度值 在图像显示界面,按ctrl健,可以查看当前的像素值 灰度图 一个通道像素点存放在一个矩…...
![](https://img-blog.csdnimg.cn/e2388ba4267a49d1bd1aa5211fb0b183.png)
vscode 设置滑条颜色
1. 默认的滑条是灰黑色的,很难看的清 2. 左下角,打开VS Code 设置功能 3. 输入命令 workbench color,回车 4. 找到工作台:自定义颜色设置,打开设置文件 setting.json 5. 打开配置文件 6. 添加颜色配置 "workben…...
![](https://img-blog.csdnimg.cn/f8c627caa63c4e88852662bef4605f63.png)
农业大数据可视化平台,让农业数据更直观展现!
农业大数据可视化平台是指利用大数据技术和可视化工具,对农业领域的数据进行收集、整理、分析和展示的平台。它可以帮助农业从业者更好地理解和利用农业数据,提高农业生产效率和决策水平。 农业大数据可视化平台通常具有以下特点和功能: 数据…...
![](https://www.ngui.cc/images/no-images.jpg)
【沁恒蓝牙mesh】CH58x USB功能开发记录(二)
本文主要介绍基于【沁恒蓝牙mesh】CH58x USB功能, BLE_USB 工程 解析与修改,主要实现 手机app与节点的数据双向通讯 【沁恒蓝牙mesh】CH58x USB功能开发记录(二) 1. BLE_USB 工程1.1 数据转发接口1.2 PC端测试1.3 手机APP端测试1.4 工程修改实现双向通讯1.4.1 【测试原理图…...
![](https://www.ngui.cc/images/no-images.jpg)
go的type关键字
在 Go 语言中,type 关键字用于定义自定义数据类型(类型别名、结构体、接口等),以及获取某个变量的类型信息。type 关键字有多种用法,下面将详细解释这些用法: 1. 自定义数据类型 使用 type 关键字可以定义…...
![](https://img-blog.csdnimg.cn/497b008a5fd94f82a93eece6f2a5eddc.png)
Linux 信号signal处理机制
Signal机制在Linux中是一个非常常用的进程间通信机制,很多人在使用的时候不会考虑该机制是具体如何实现的。signal机制可以被理解成进程的软中断,因此,在实时性方面还是相对比较高的。Linux中signal机制的模型可以采用下图进行描述。 每个进程…...
![](https://img-blog.csdnimg.cn/img_convert/43fe875b90e78d350d54c980a580c204.png)
SpringBoot3之Web编程
标签:Rest.拦截器.swagger.测试; 一、简介 基于web包的依赖,SpringBoot可以快速启动一个web容器,简化项目的开发; 在web开发中又涉及如下几个功能点: 拦截器:可以让接口被访问之前,将请求拦截…...
![](https://img-blog.csdnimg.cn/fce8b845de374744ac7609fc2de52465.png)
策略模式(C++)
定义 定义一系列算法,把它们一个个封装起来,并且使它们可互相替换((变化)。该模式使得算法可独立手使用它的客户程序稳定)而变化(扩展,子类化)。 ——《设计模式》GoF 使用场景 在软件构建过程中,某些对象使用的算法可能多种多…...
![](https://www.ngui.cc/images/no-images.jpg)
【每日一题Day290】LC1281整数的各位积和之差 | 模拟
整数的各位积和之差【LC1281】 给你一个整数 n,请你帮忙计算并返回该整数「各位数字之积」与「各位数字之和」的差。 思路:简单模拟 循环取余,计算「各位数字之积」与「各位数字之和」,最后求差返回 实现 class Solution {public…...
![](https://img-blog.csdnimg.cn/img_convert/aa2df72c0607132355d2d0199d17d4e0.png)
揭示CTGAN的潜力:利用生成AI进行合成数据
推荐:使用 NSDT场景编辑器 助你快速搭建可编辑的3D应用场景 我们都知道,GAN在生成非结构化合成数据(如图像和文本)方面越来越受欢迎。然而,在使用GAN生成合成表格数据方面所做的工作很少。合成数据具有许多好处&#x…...
![](https://www.ngui.cc/images/no-images.jpg)
GitHub中readme.md文件的编辑和使用
GitHub中readme.md文件的编辑和使用 | YuuiChungs BlogGitHub - guodongxiaren/README: README文件语法解读,即Github Flavored Markdown语法介绍...
![](https://www.ngui.cc/images/no-images.jpg)
Python 四舍五入到最接近的十位
本篇文章将讨论使用 Python 的 ceil() 函数将数字四舍五入到最接近的十。 Python 整数到最接近的十 Python 具有三个内置函数 round()、floor() 和 ceil(),可用于对数字进行舍入。 ceil() 函数属于数学模块,用于将浮点数舍入为大于或等于给定数字的最接…...
![](https://img-blog.csdnimg.cn/641fae7244aa4a4a9907e0564c40ada9.gif)
Unity限制在一个范围内移动
Unity限制在一个范围内移动 这个例子中,我们学习Vector3.ClampMagnitude的用法,限制小球在范围内移动。 在地图上放了一个小球,让他移动,但是不想让他掉下去,限制在一个球星范围内,就好像绳子拴住了一样&…...
![](https://www.ngui.cc/images/no-images.jpg)
dji uav建图导航系列(一)建图
文章目录 1、uav + rplidir雷达1.2、思岚激光雷达1.3、dji uav的launch文件2、cartographer激光建图2.1、启动文件2.2、config修改2.3、建图过程3、融合odom+laser建图1、uav + rplidir雷达 思岚激光雷达frame为base_laser_link, 无人机frame为base_footprint。 文件uav_lid…...
![](https://img-blog.csdnimg.cn/e4efbbbd4d0b401f8038a7755feeafb1.png)
AAAI论文阅读
文章目录 Open-Vocabulary Multi-Label Classifcation via Multi-Modal Knowledge Transfer——知识蒸馏的范畴Med-EASi: Finely Annotated Dataset and Models for Controllable Simplifcation of Medical Texts——医学领域数据集构建“Nothing Abnormal”: Disambiguating M…...
![](https://img-blog.csdnimg.cn/img_convert/241576dbd5b3d966e3ba92296be6714a.jpeg)
填补5G物联一张网,美格智能快速推进RedCap商用落地
自5G R17版本标准冻结以来,RedCap一直引人注目。2023年更是5G RedCap突破性发展的一年,从首款5G RedCap调制解调器及射频系统——骁龙X35发布,到国内四大运营商发布RedCap技术白皮书,芯片厂商、模组厂商、运营商及终端企业都在积极…...
![](https://www.ngui.cc/images/no-images.jpg)
服务器杂七杂八的知识/常识归纳(不断更新)
一.pID与端口号不一样吗? pID(Process ID,进程标识符)和端口号是不同的概念。 pID是操作系统中用来唯一标识一个正在运行的进程的数字。每个正在运行的进程都会被分配一个唯一的pID,它可以用来追踪和管理进程。 而端口号是在网…...
![](https://www.ngui.cc/images/no-images.jpg)
掌握Java排序算法:实现主流排序方法与性能对比
一,C语言,主流的排序方法介绍 当谈论主流的排序方法时,通常指的是在实际应用中表现优秀且被广泛采用的排序算法。以下是常见的主流排序方法及其介绍、时间复杂度、空间复杂度和简单的C语言代码实现: 冒泡排序(Bubble S…...
![](https://www.ngui.cc/images/no-images.jpg)
jdk17 SpringBoot JPA集成多数据库
switchRegion(切换地区)功能, 客户端可手动切换地区 , 查询不同的数据库, 后台根据地区切换数据库, 请求头添加region的key 配置类 import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.jdbc.DataSourceBuilder; im…...
![](https://img-blog.csdnimg.cn/7dfc78c63a5c4211b13079de4d3ce917.png#pic_center)
vue 新学习 06 js的prototype ,export暴露,vue组件,一个重要的内置关系
01 在js中: 原型链 注意:构造函数.prototype实例化对象.__proto__,都是指向函数的原型。 export: -export用于对外输出本模块(一个文件可以理解为一个模块)变量的接口 -import用于在一个模块中加载另一个…...
![](https://img-blog.csdnimg.cn/ddb14d57f1804b2f9776305a55792b8b.png)
冠达管理:“高温超导”不是“室温超导”,5天4板百利电气再次澄清
短短半个月,“室温超导”在惊喜、质疑间回转,但资本市场对“超导概念股”的炒作还在进行,8月7日室温超导概念持续疯涨。同花顺显现,到8月7日收盘,18只超导概念股中,有16只股票飘红。 广东研山私募证券投资&…...
![](https://img-blog.csdnimg.cn/0391def61c1b4717a4e7787b8aea9a35.png)
CS 144 Lab Four 收尾 -- 网络交互全流程解析
CS 144 Lab Four 收尾 -- 网络交互全流程解析 引言Tun/Tap简介tcp_ipv4.cc文件配置信息初始化cs144实现的fd家族体系基于自定义fd体系进行数据读写的adapter适配器体系自定义socket体系自定义事件循环EventLoop模板类TCPSpongeSocket详解listen_and_accept方法_tcp_main方法_in…...
![](http://www.myloadtest.com/resources/google-trends-new-relic-vs-appdynamics.png)
成都网站建设scwbo/陕西网站设计
前: New Relic的上市使得IT和资本界开始重新重视APM,当然跟传统APM相比,New Relic还是有相当的创新,另外还有一点是目前的创业潮导致的企业级需求增大。 In recent years, IT projects seem to have stopped asking “which APM s…...
![](/images/no-images.jpg)
网站新功能演示用什么技术做的/seo怎么搞
今天下了emacs,第一眼看中了,很喜欢!终于不用去逼自己,适应vim的黑色主题了,话说vim给我的第一感觉就不爽!今天老子要换编辑器啦!嘿嘿同时希望51cto能长办不倒,不然我的文章要丢了!...转载于:https://blog.51cto.com/13497359/2043915...
![](/images/no-images.jpg)
wordpress主题报错/网站代发外链
PHP 安全三板斧:过滤、验证和转义之过滤篇 & Laravel底层SQL注入规避由 学院君 创建于4年前, 最后更新于 1年前版本号 #328413 views19 likes0 collects我们在开发应用时,一般有个约定:不要信任任何来自不受自己控制的数据源中的数据。例…...
![](https://s2.51cto.com/wyfs02/M02/8C/39/wKioL1hl8h2TifgbAADFwtrY6Dc538.png-wh_500x0-wm_3-wmp_4-s_3625316565.png)
哪个网站做衣服的/房地产营销策略有哪些
一、下载Oracle 11g R2版本。网址:https://www.oracle.com/index.html,下载需要登录oracle网站,没有账户就注册一个。或直接下载地址:http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html 点Downloads-->…...
![](https://img-blog.csdnimg.cn/img_convert/6ee5639a40442445944d63b514b2dd02.png)
国外化妆品网站模板/青岛seo网站推广
Oracle创建实例的最少参数需求我们知道,Oracle在启动过程中,需要读取参数文件(pfile/spfile)来创建实例.Oracle在启动过程中,寻找参数文件的顺序为:spfile.ora,spfile.ora,init.ora.而创建实例的过程中,Oracle需要的最少参数为一个,即db_name参数.我们来看一个测试,启动一个任意…...
![](https://img2018.cnblogs.com/blog/1323968/201904/1323968-20190413190450397-188959056.png)
网站搭建岗位及要求/西安网站seo公司
首先看一下系统磁盘的格式,看是NTFS的还是FAT32的,如果是NTFS的一般就是权限的问题,因为iis读取数据库在系统盘是有缓存的,所以对权限有要求,找到系统盘缓存目录: C:/Windows/temp 如下图: 添加上everyone用…...