当前位置: 首页 > news >正文

git操作总结

git基本知识

工作区域

  • 远程仓库: 就是我们托管在github或者其他代码托管平台上的仓库。
  • 本地仓库: 就是在我们本地通过git init命令初始化的新建的仓库。
  • 工作区: 就是我们写代码、编辑文件的地方。
  • 暂存区: 当工作区的内容写好了之后,就会通过add命令,将工作区的内容放到暂存区,等待commit命令提交到本地仓库中。

文件状态

  • 未跟踪的(untracked): 表示在工作区新建了某个文件,还没有add。
  • 已修改(modofied): 表示在工作区中修改了某个文件,还没有 add。
  • 已暂存(staged): 表示把已修改的文件已add到暂存区域。
  • 已提交(commit): 表示文件已经commit到本地仓库保存起来了。

git常用操作

1.git clone [远程仓库的HTTP/SSH的URL]

用于将远程仓库克隆到本地。克隆后本地就有一个本地仓库。注意:远程仓库不管哪个分支都是一个url,所以你想要克隆其它分支时就要指定分支,例如,如果你要克隆develop分支,可以使用以下命令:

git clone -b develop <repository-url>

或者

git clone --branch develop <repository-url>

2. git init 

用于初始化一个本地仓库

本地已经有个本地仓库,但是对应的远程仓库还未创建,怎么将本地代码推到远程仓库? 

1.创建一个远程仓库

2.检查本地仓库是否与远程仓库关联:

git remote -v

 

输出空说明没有任何关联

3.将本地仓库与远程仓库关联:

git remote add origin <远程仓库地址>

 origin:远程仓库的默认名称

4.将本地文件push到远程仓库:

git push -u origin main

-u:设置默认的上游分支(upstream),便于后续操作。这会让main分支与远程的main分支关联起来,之后可以直接用 git push 或 git pull

main:远程仓库分支名称

3.日常操作

①.git add

②.git commit -m

③. git push

④. git pull

⑤.git fetch

git fetch和git pull的区别?

git fetch和git pull的区别?

git fetch命令用于从远程仓库获取最新的代码提交和分支信息,但它不会将获取到的内容应用到你的工作目录或当前分支,也不会改变你本地仓库的历史记录。相当于是将远程仓库的最新信息下载到你的本地仓库,你可以通过git merge或git rebase将这些更新合并到你的当前分支。

 git pull=git fetch+ git merge

⑥.git merge

⑦.git rebase

git merge/rebase到底是哪合并到哪了?

一句话,就是你站在哪个分支上就合并到了哪个分支上,例如:git checkout feature , git merge main 就是将main主分支的新内容合并到功能分支上

git merge和 git rebase的区别是什么?

当我们从主干(Main)创建了一个新的分支(Feature)开始开发代码时,然后另外有人把自己的代码提交到主干(Main)之后,就会产生分叉的提交记录。

这时候我们想把main分支上的新内容合并到我们的分支上就有两种选择:

1.git merge

git checkout feature //站在feature分支
git merge main //将main合并到feature

提交纪录上就会有下面效果:

相当于在feature分支中创建一个新的“merge commit'”,它将两个分支的更改合并到一个新的提交中。

2.git rebase

git checkout feature
git rebase main

rebase意思变基,其实就是重新设立新起点的意思,我们在feature上执行的rebase,就重新设立了feature的起点,就是将main上的commit记录在feature上回放了一遍 

这时候如果我们想将feature合并到主干上,就可以执行

git checkout main
git merge feature 

merge完后,整个合并线条是直的,就会使提交记录变得清爽。可以参考rebase这个大佬对rebase的介绍,很详细。

分支操作 

git branch -v

查看都是有哪些分支,当前处于的分支会被星星标记 

git checkout -b <分支名称>

切换到新分支,并创建该分支 

踩坑经验总结

1.git克隆报错Failed to connect to 127.0.0.1 port 7890 after 2034 ms: Couldn‘t connect to server

当无法连接github时,可以设置git的代理

git config --global http.proxy http://127.0.0.1:7890

这种时全局配置,在C:\Users\[你的用户名]\.gitconfig里能看到设置的全局配置

取消:

git config --global --unset http.proxy

或把配置文件中的配置信息删除。

注意的是,打开代理后,要打开clash。

2.代码push之前一定要先pull或fetch

相关文章:

git操作总结

git基本知识 工作区域 远程仓库&#xff1a; 就是我们托管在github或者其他代码托管平台上的仓库。本地仓库&#xff1a; 就是在我们本地通过git init命令初始化的新建的仓库。工作区&#xff1a; 就是我们写代码、编辑文件的地方。暂存区&#xff1a; 当工作区的内容写好了之…...

CompressAI安装!!!

我就不说废话了&#xff0c;直接给教程&#xff0c;还是非常简单的 但是我看了好多帖子&#xff0c;都没有说明情况 一定要看最后最后的那个注释 正片开始&#xff1a; 一共有三种方式&#xff1a; 第一种就是本机安装&#xff1a; 在网址上下载对应版本Links for compre…...

豆包MarsCode算法题:最小周长巧克力板组合

问题描述 思路分析 这道题可以抽象为一个最优化问题&#xff1a; 问题分析 每个正方形的面积为 k &#xff0c;对应的边长为 k &#xff0c;周长为 4k 。给定整数 n &#xff0c;我们需要找到若干正方形&#xff0c;使得它们的面积之和恰好等于 n&#xff1a; 同时尽量最小…...

vue项目添加骨架屏vue-skeleton-webpack-plugin,通过app.vue添加骨架屏,解决衔接空白问题

安装插件 yarn add vue-skeleton-webpack-plugin在 webpack 中引入插件&#xff1a;以4版本为例配置如下 vue.config.js plugins: [new SkeletonWebpackPlugin({webpackConfig: {entry: {app: path.join(__dirname, ./src/components/entry-skeleton.js),},},minimize: true,…...

测试实项中的偶必现难测bug之模糊匹配逻辑

问题: 现在有一个场景,如果只是通过功能测试会比较难测,例如刚开始我们做会员的时候,只有白银会员,在用户分群的场景下,需要用条件逻辑匹配,当时开发用了like的匹配方式没有问题。1年后加了白银试用会员,导致在统计会员分群的时候明明条件选的是白银会员,但是统计的数…...

Vue:后端返回二进制文件,前端如何实现浏览器自动下载?

Vue项目开发中&#xff0c;遇到界面下载功能时&#xff0c;前端如何实现将后端返回二进制文件在浏览器自动下载&#xff1f; 一、关键代码&#xff1a; export function downloadFile(fileName) {axios({method: post,url: process.env.VUE_APP_BASE_API /cgi-bin/file,data:…...

Android解压zip文件到指定目录

很多时候需要把一个预制的zip文件解压到根目录&#xff0c;下面是一个实例代码&#xff1a; private static final int BUFFER_SIZE 4096;public static void unZip(String zipFilePath, String targetDir) throws IOException {File destDir new File(targetDir);if (!destD…...

主要用于图像的颜色提取、替换以及区域修改

这段代码涉及了以下几个关键步骤&#xff0c;主要用于图像的颜色提取、替换以及区域修改。下面是对代码的详细解析&#xff1a; 1. 导入库 import cv2 import matplotlib.pyplot as plt import numpy as npcv2: OpenCV库&#xff0c;用于图像处理。matplotlib.pyplot: 用于绘…...

gbase8c之运维操作

导出结构&#xff1a; gs_dump -U gbase8s -W Password123 -f /tmp/dump_only_structure.sql -p 15400 sids_station -n public -s -F p 导出数据&#xff1a; gs_dump -U gbase8s -W Password123 -f /tmp/dump_only_data.sql -p 15400 sids_station -n public -a -F p 导入…...

云原生学习

1、云原生学习 文章目录 1、云原生学习1. 介绍2. Docker容器化 1. 介绍 什么是云原生&#xff1f;原生指使用JAVA等语言编写的项目&#xff0c;云是指将项目部署到云服务器上云平台&#xff1a;公有云、私有云 本地平台是指直接部署在自己计算机&#xff0c;而开发的应用一定要…...

深入解析 Vue 3 中的 defineExpose

深入解析 Vue 3 中的 defineExpose 在 Vue 3 的组合式 API&#xff08;Composition API&#xff09;中&#xff0c;defineExpose 是一个重要的辅助函数&#xff0c;专门用于在 <script setup> 模式下暴露组件内部的属性和方法给父组件使用。本文将详细解析 defineExpose…...

Docker3:docker基础1

欢迎来到“雪碧聊技术”CSDN博客&#xff01; 在这里&#xff0c;您将踏入一个专注于Java开发技术的知识殿堂。无论您是Java编程的初学者&#xff0c;还是具有一定经验的开发者&#xff0c;相信我的博客都能为您提供宝贵的学习资源和实用技巧。作为您的技术向导&#xff0c;我将…...

【UGUI】背包的交互01(道具信息跟随鼠标+道具信息面板显示)

详细程序逻辑过程 初始化物品栏&#xff1a; 在 Awake 方法中&#xff0c;通过标签找到提示框和信息面板。 循环生成10个背包格子&#xff0c;并为每个格子设置图标和名称。 为每个格子添加 UInterMaager232 脚本&#xff0c;以便处理交互事件。 关闭提示框和信息面板&#…...

ubuntu20.04中编译安装gcc 9.2.0

ubuntu20.04中编译安装gcc 9.2.0,步骤如下&#xff1a; #install compile dependence libraries 1&#xff1a;$ sudo apt install libgmp-dev libisl-dev libmpc-dev libmpfr-dev # install gcc 9.2.0 # download source code 2&#xff1a;$ wget http://ftp.gnu.org/gn…...

ss 命令的基本用法

ss 命令的基本用法 ss [选项]-tanl 选项解释 -t&#xff1a;显示 TCP 连接。-a&#xff1a;显示所有连接&#xff08;包括监听端口&#xff09;。-n&#xff1a;显示数字形式的地址和端口号&#xff0c;而不是解析为主机名和服务名。-l&#xff1a;仅显示监听的端口。 使用示…...

Leetcode198. 打家劫舍(HOT100)

代码&#xff1a; class Solution { public:int rob(vector<int>& nums) {int n nums.size();vector<int> f(n 1), g(n 1);for (int i 1; i < n; i) {f[i] g[i - 1] nums[i - 1];g[i] max(f[i - 1], g[i - 1]);}return max(f[n], g[n]);} }; 这种求…...

kafka基础

文章目录 一、Kafka入门1.1、JMS1.2、生产者-消费者模式1.3、ZooKeeper 二、kafka基础架构2.1、producer2.2、kafka cluster2.2.1、broker2.2.2、Controller2.2.3、Topic2.2.4、Partition2.2.5、Replication2.2.6、Leader & Follower 2.3、consumer 一、Kafka入门 Kafka是一…...

STM32CUBEIDE FreeRTOS操作教程(九):eventgroup事件标志组

STM32CUBEIDE FreeRTOS操作教程&#xff08;九&#xff09;&#xff1a;eventgroup事件标志组 STM32CUBE开发环境集成了STM32 HAL库进行FreeRTOS配置和开发的组件&#xff0c;不需要用户自己进行FreeRTOS的移植。这里介绍最简化的用户操作类应用教程。以STM32F401RCT6开发板为…...

Python设计模式详解之2 —— 工厂模式

工厂模式&#xff08;Factory Pattern&#xff09;是一种创建型设计模式&#xff0c;旨在定义一个用于创建对象的接口&#xff0c;但由子类决定实例化哪个类。工厂模式可以帮助我们将对象的创建与其使用分离&#xff0c;增强代码的可扩展性和维护性。 工厂模式的分类 简单工厂…...

【Zookeeper】二、主从应用(master-worker架构)

以一张具有代表性的架构风格展开本篇论述 一般在这种架构中&#xff0c;主节点所负责的工作主要有 跟踪从节点状态分配任务到从节点&#xff0c;并跟踪任务的有效性&#xff08;任务是否正常执行完成&#xff09; 此时&#xff0c;我们需要关注三个问题 主节点崩溃 如果主节…...

后进先出(LIFO)详解

LIFO 是 Last In, First Out 的缩写&#xff0c;中文译为后进先出。这是一种数据结构的工作原则&#xff0c;类似于一摞盘子或一叠书本&#xff1a; 最后放进去的元素最先出来 -想象往筒状容器里放盘子&#xff1a; &#xff08;1&#xff09;你放进的最后一个盘子&#xff08…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院查看报告小程序

一、开发环境准备 ​​工具安装​​&#xff1a; 下载安装DevEco Studio 4.0&#xff08;支持HarmonyOS 5&#xff09;配置HarmonyOS SDK 5.0确保Node.js版本≥14 ​​项目初始化​​&#xff1a; ohpm init harmony/hospital-report-app 二、核心功能模块实现 1. 报告列表…...

DBAPI如何优雅的获取单条数据

API如何优雅的获取单条数据 案例一 对于查询类API&#xff0c;查询的是单条数据&#xff0c;比如根据主键ID查询用户信息&#xff0c;sql如下&#xff1a; select id, name, age from user where id #{id}API默认返回的数据格式是多条的&#xff0c;如下&#xff1a; {&qu…...

Android第十三次面试总结(四大 组件基础)

Activity生命周期和四大启动模式详解 一、Activity 生命周期 Activity 的生命周期由一系列回调方法组成&#xff0c;用于管理其创建、可见性、焦点和销毁过程。以下是核心方法及其调用时机&#xff1a; ​onCreate()​​ ​调用时机​&#xff1a;Activity 首次创建时调用。​…...

短视频矩阵系统文案创作功能开发实践,定制化开发

在短视频行业迅猛发展的当下&#xff0c;企业和个人创作者为了扩大影响力、提升传播效果&#xff0c;纷纷采用短视频矩阵运营策略&#xff0c;同时管理多个平台、多个账号的内容发布。然而&#xff0c;频繁的文案创作需求让运营者疲于应对&#xff0c;如何高效产出高质量文案成…...

处理vxe-table 表尾数据是单独一个接口,表格tableData数据更新后,需要点击两下,表尾才是正确的

修改bug思路&#xff1a; 分别把 tabledata 和 表尾相关数据 console.log() 发现 更新数据先后顺序不对 settimeout延迟查询表格接口 ——测试可行 升级↑&#xff1a;async await 等接口返回后再开始下一个接口查询 ________________________________________________________…...

RabbitMQ入门4.1.0版本(基于java、SpringBoot操作)

RabbitMQ 一、RabbitMQ概述 RabbitMQ RabbitMQ最初由LShift和CohesiveFT于2007年开发&#xff0c;后来由Pivotal Software Inc.&#xff08;现为VMware子公司&#xff09;接管。RabbitMQ 是一个开源的消息代理和队列服务器&#xff0c;用 Erlang 语言编写。广泛应用于各种分布…...

破解路内监管盲区:免布线低位视频桩重塑停车管理新标准

城市路内停车管理常因行道树遮挡、高位设备盲区等问题&#xff0c;导致车牌识别率低、逃费率高&#xff0c;传统模式在复杂路段束手无策。免布线低位视频桩凭借超低视角部署与智能算法&#xff0c;正成为破局关键。该设备安装于车位侧方0.5-0.7米高度&#xff0c;直接规避树枝遮…...

Vue 模板语句的数据来源

&#x1f9e9; Vue 模板语句的数据来源&#xff1a;全方位解析 Vue 模板&#xff08;<template> 部分&#xff09;中的表达式、指令绑定&#xff08;如 v-bind, v-on&#xff09;和插值&#xff08;{{ }}&#xff09;都在一个特定的作用域内求值。这个作用域由当前 组件…...

数据库——redis

一、Redis 介绍 1. 概述 Redis&#xff08;Remote Dictionary Server&#xff09;是一个开源的、高性能的内存键值数据库系统&#xff0c;具有以下核心特点&#xff1a; 内存存储架构&#xff1a;数据主要存储在内存中&#xff0c;提供微秒级的读写响应 多数据结构支持&…...