Git 操作以及Git 常见问题

Git 操作

git 教程:https://www.runoob.com/git/git-tutorial.html

基本概念

工作区:克隆项目到本地后,项目所在的文件夹;
暂存区:从工作区添加上来的变更(新增,修改,删除)的文件执行 git add 命令后,将工作区的文件添加到暂存区;
本地仓库:用于存储本地工作区和暂存区提交上来的变更(新增,修改,删除)文件,即暂存区的文件执行 git commit 操作后,将变更的文件提交到本地仓库;
远程仓库:搭建在服务器上的 git 远程仓库,执行 git push origin 分支名称 后,将本地仓库中的变更推送到远程仓库;

基本操作

  1. 克隆代码

git clone

  1. 初始化本地仓库

git init

  1. 添加当前文件到暂存区

git add .

  1. 本地设置远程仓库

git remote add origin [url]

  1. 拉取代码

git pull origin 远程分支名:本地分支名

  1. 提交到远程仓库

git push origin 远程分支名:本地分支名

  1. 查看当前分支

git branch

  1. 查看仓库状态,文件变更信息

git status

  1. 查看历史提交记录

git log

  1. 查看历史提交记录,显示变更的文件信息

git log --stat

  1. 搜索历史提交记录

git log -S [keyword]

  1. 显示工作区和暂存区的区别

git diff
git diff HEAD 显示与最新commit之间的区别

  1. 显示某次提交的详情

git show [commitId]

版本操作

git resert

  1. 查看提交历史

git log

  1. 回退到上一个版本

git reset --hard

  1. 回退到指定版本

git reset --hard commitId

git reset 常见的几种模式

soft:将 head 指向指定的提交,工作区和暂存区的内容不会改变
mixed:默认模式,将 head 指向指定的提交,暂存区的内容随之改变,而工作区的内容不会改变
hard:将 head 指向指定的提交,暂存区和工作区都会改变

git revert
适用场景:如果想撤销之前的某一版本,但是又想保留该目标版本后面的其他版本

  1. 查看历史提交

git log

  1. 撤销提交

git revert commit_id
revert 是默认提交的,但是 git revert | --no-commit [commit-id],–no-commit 选项不会自动提交需要手动提交

Git 命令 reset 和 revert 的区别

文件操作

  1. 添加指定文件到暂存区

git add [file1] [file2] …

  1. 添加指定目录到暂存区,包括子目录

git add [dir]

  1. 添加所有文件到暂存区

git add .

  1. 删除工作区文件,并将这次删除加入到暂存区

git rm [file1] [file2]

  1. 停止追踪指定文件,该文件会保留在工作区

git rm --cached [file]

  1. 文件已经添加到暂存区,强制删除文件

git rm -f [file]

  1. 删除整个目录下的所有子目录和文件

git rm -r [dir]

分支操作

  1. 切换分支

git checkout [分支名]

  1. 合并分支

git merge [分支名]

  1. 创建并切换分支

git checkout -b [分支名]

  1. 创建分支

git branch [分支名]

  1. 删除分支

git branch -d [分支名]

标签操作

  1. 查看标签

git tag

  1. 附注标签

git tag -a [标签名] -m “标签信息” [提交ID]

  1. 指向最新的提交

git tag -a v1.0.0 -m “Release version 1.0.0” HEAD

  1. 提交标签

git push origin [标签名]

  1. 一次性推送所有标签

git push origin --tags

  1. 轻量标签

git tag [标签名] [提交ID]

  1. 创建一个指向最新提交的轻量标签

git tag v1.0.0

远程操作

  1. 将远程的全部更新拉取到本地

git fetch <远程主机名>

  1. 拉取指定分支的更新

git fetch <远程主机名> <分支名>

  1. 将远程主机的某个分支的更新取回,并与本地指定的分支合并

git pull <远程主机名> <远程分支名>:<本地分支名>

管理远程仓库

  1. 列出当前仓库配置的远程仓库

git remote

  1. 列出当前仓库配置的远程仓库,并显示 URL

git remote -v

  1. 添加远程仓库,指定一个远程仓库的名称和 URL

git remote add <远程主机名>

  1. 从当前仓库中删除指定的远程仓库

git remote remove <远程主机名>

  1. 将已配置的远程仓库重命名

git remote rename <old_name> <new_name>

  1. 修改远程仓库的 URL

git remote set-url <远程主机名>

  1. 显示远程仓库详细信息,包括 URL 和跟踪分支

git remote show <远程主机名>

其他问题

如何删除多于的 .idea 文件夹

git rm --cache -r .idea
git commit -m "fix:移除.idea";
git push origni master

git fetch 与 git pull 的区别

git fetch:将远程主机的最新内容拉到本地,用户在检查了以后决定是否合并到工作本地分支中;
git pull:则是将远程主机的最新内容拉下来后直接合并,相当于 git fetch + git merge,此时可能会产生冲突,需要手动解决;

git 迁移(从gitee迁移到github上)

  1. 在 github 上创建一个项目
  2. 把 gitee 上的仓库下载到本地

git clone https://gitee.com/EzreaLwj/ezreal-chatgpt-data.git

  1. 移除gitee远端,不移除也可以,但是不能也叫 origin

git remote remove origin

  1. 添加 github 远端

git remote add origin https://github.com/EzreaLwj/ezreal-chatgpt-data.git

  1. 推送到 github 的 master,如果有多个分支就需要一个一个地推

git push -u origin master

IDEA 解决 git 冲突

当发生冲突时,会弹出解决冲突的提示框,共有三个按钮:
accept yours:以你当前的分支为标准;
accept theirs:以他人的分支为标准(合并过来的分支);
merge:手动合并;

点击手动合并后,会出现三个框,最左边的框是你本地的分支,最后边的框是他人的分支(合并过来的分支),中间的框是解决冲突后的最终版本。

每次解决完冲突后,都要点击启动项目,看看能不能将项目跑起来。

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

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

相关文章

C++面向对象程序设计-北京大学-郭炜【课程笔记(三)】

C面向对象程序设计-北京大学-郭炜【课程笔记&#xff08;三&#xff09;】 1、构造函数&#xff08;constructor&#xff09;1.1、基本概念 2、赋值构造函数2.1、基本概念2.1、复制构造函数起作用的三种情况2.2、常引用参数的使用 3、类型转换构造函数3.1、什么事类型转换构造函…

关于怎么监督机器学习训练的进度

不知道大家有没有我这种烦恼&#xff0c;运行机器学习模型的时候&#xff0c;一直在哪运行&#xff0c;也不知道啥时候会结束&#xff0c;等也不是&#xff0c;不等也不是&#xff0c;又着急想看到结果。 如下提出三种监督训练进度的方法&#xff1a; 1.使用回调函数&#xf…

Kubernetes实战:通过nodePort方式访问springboot服务

目录 一、准备工作1.1、yaml文件编写 二、创建k8s Service三、附录参考资料 一、准备工作 1.1、yaml文件编写 创建weaveservice_service.yaml文件&#xff0c;yaml文件内容如下 apiVersion: v1 kind: Service metadata:name: weaveservicenamespace: app spec:selector:app:…

寻找正确的数据衡量指标

在分析数据之前&#xff0c;需要对运营&产品设置一个目标行为。这个行为的定义应当是业务目标或者业务目标直接相关的指标&#xff0c;我们希望通过运营或者产品&#xff0c;让用户产生某种行为&#xff0c;并达到双赢的目的。 例如电商产品中&#xff0c;用户最终的行为是…

深入解析Android AIDL:实现跨进程通信的利器

深入解析Android AIDL&#xff1a;实现跨进程通信的利器 1. 介绍Android AIDL Android Interface Definition Language (AIDL) 是一种Android系统中的跨进程通信机制。AIDL允许一个应用程序的组件与另一个应用程序的组件通信&#xff0c;并在两者之间传输数据。 AIDL的主要作…

【机构vip教程】​python(1):python正则表达式匹配指定的字符开头和指定的字符结束

一&#xff0c;使用python的re.findall函数&#xff0c;匹配指定的字符开头和指定的字符结束 代码示例&#xff1a; 1 import re 2 # re.findall函数;匹配指定的字符串开头和指定的字符串结尾(前后不包含指定的字符串) 3 str01 hello word 4 str02 re.findall((?<e).*?…

[嵌入式系统-27]:RT-Thread -14- 操作系统配置:rtconfig.h文件与menuconfig命令

目录 一、rtconfig.h 1.1 概述 1.2 软硬件资源配置 1.3 功能模块选择 1.4 内核配置详解 1.5 调度器配置 1.6 硬件设备驱动配置 1.7 网络配置 1.8 调试配置 二、menuconfig 2.1 概述 2.2 主要功能 三、RT Thread配置 VS Linux配置 一、rtconfig.h 1.1 概述 rtco…

Shiro-03-shiro 核心概念 Subject,SecurityManager 和 Realms

核心概念&#xff1a;Subject&#xff0c;SecurityManager 和 Realms Shiro的体系结构具有三个主要概念-主题&#xff08;Subject&#xff09;&#xff0c;安全管理器(SecurityManager)和领域&#xff08;Realms&#xff09;。 Subject 在保护应用程序安全时&#xff0c;可能…

LeetCode504. Base 7

文章目录 一、题目二、题解 一、题目 Given an integer num, return a string of its base 7 representation. Example 1: Input: num 100 Output: “202” Example 2: Input: num -7 Output: “-10” Constraints: -107 < num < 107 二、题解 class Solution …

阿里云香港轻量应用服务器怎么样,建站速度快吗?

阿里云香港服务器中国香港数据中心网络线路类型BGP多线精品&#xff0c;中国电信CN2高速网络高质量、大规格BGP带宽&#xff0c;运营商精品公网直连中国内地&#xff0c;时延更低&#xff0c;优化海外回中国内地流量的公网线路&#xff0c;可以提高国际业务访问质量。阿里云服务…

[java基础揉碎]类与对象

目录 类与对象的引出: 类与对象的概述: 类与对象在内存中的布局: 属性的注意细节: 类与对象在内存中创建的过程: 类与对象的引出: 例如这样一个问题: 如果用单独变量来解决, 就会有一个问题, 不利于数据的管理, 将所有猫的信息都给拆解了: 如果用数组来解决, 则会有 1)数…

ClickHouse--11--ClickHouse API操作

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 1.Java 读写 ClickHouse API1.1 首先需要加入 maven 依赖1.2 Java 读取 ClickHouse 集群表数据JDBC--01--简介 ClickHouse java代码 1.3 Java 向 ClickHouse 表中写…

Code Composer Studio (CCS) - Hot keys (快捷键)

Code Composer Studio [CCS] - Hot keys [快捷键] 1. Hot keys2. Debug modeReferences 1. Hot keys F5 - Refresh F3 - Open Declaration Ctrl B - Build All F4 - Open Type Hierarchy Alt Left - Back to function Alt Right - Forward to function 2. Debug mode…

计算机设计大赛 深度学习乳腺癌分类

文章目录 1 前言2 前言3 数据集3.1 良性样本3.2 病变样本 4 开发环境5 代码实现5.1 实现流程5.2 部分代码实现5.2.1 导入库5.2.2 图像加载5.2.3 标记5.2.4 分组5.2.5 构建模型训练 6 分析指标6.1 精度&#xff0c;召回率和F1度量6.2 混淆矩阵 7 结果和结论8 最后 1 前言 &…

Mysql5.6忘记密码,如何找回(windows)

mysql5.6安装 第一步&#xff1a;关闭正在运行的数据库服务 net stop mysql第二步&#xff1a;在my.ini文件当中的[mysqld] 任意一个位置放入 skip-grant-tables第三步&#xff1a;启动mysql服务 net start mysql第四步&#xff1a;服务启动成功后就可以登录了&#xff0c;…

举个栗子!Tableau 技巧(265):灵活对比文本表的行数据

通过文本表查看数据时&#xff0c;我们经常需要将某一行数据与其他行进行对比&#xff0c;如何能更灵活更直观的对比分析各行数据情况呢&#xff1f; 可以试试这个方法&#xff01;如下示例&#xff1a;点击某明细行时&#xff0c;该明细行会自动置顶&#xff0c;且其它行会新…

Linux系统:iptables 防火墙

目录 一、安全技术与防火墙 1、安全技术概念 2、防火墙 2.1 防火墙概念 2.2 防火墙分类 2.3 linux的防火墙Netfilter 2.4 防火墙工具介绍 2.5 netfilter 和 iptables 的关系 二、iptables 1、概念 2、五表五链 2.1 五个table表 2.2 五个chain链 2.3 内核中数据包…

ClickHouse--06--其他扩展MergeTree系列表引擎

其他扩展MergeTree系列 MergeTree 系列表引擎 --种类 MergeTree 系 列 表 引 擎 包 含 &#xff1a; MergeTreeReplacingMergeTreeSummingMergeTree&#xff08;汇总求和功能&#xff09;AggregatingMergeTree&#xff08;聚合功能&#xff09;CollapsingMergeTree&#xff08…

- 项目落地 - 《选择项目工具的方法论》

本文属于专栏《构建工业级QPS百万级服务》 提纲&#xff1a; 选择大概率能完成业务目标的工具选择最适合的工具制作最适合的工具 本文所说的项目工具&#xff0c;泛指业务软件开发&#xff0c;所依赖的第三方提供的成熟的资源。包括但不限于开发语言、编辑工具、编译工具、三方…

IgG1 (mouse), ELISA kit——ENZO热销产品

90分钟内可得结果的高特异性定量ELISA试剂盒 免疫球蛋白G&#xff08;IgG&#xff09;是一种免疫球蛋白单体&#xff0c;由两条&#xff08;γ&#xff09;重链和两条轻链组成。每个IgG分子包含两个抗原结合域和一个效应&#xff08;Fc&#xff09;域。Enzo Life Sciences可提供…