Git常用操作总结,经常遇到但是记不住

2024-01-29 10:48

本文主要是介绍Git常用操作总结,经常遇到但是记不住,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

今天分享一些我平时在使用git时经常会遇到的几个问题,由于命令一直记不住,每次都得去搜索贼麻烦,所以今天想着整理一下分享出来,希望能帮助到也经常遇到这些问题的你。

图片

Git remote 使用总结

使用场景:新建一个git仓库并与远程关联

  1. 初始化一个新的空的git仓储,并在仓储下做一些改动;

mkdir gitDir
cd gitDir/
git init
touch file
#查看当前未提交的改动 
git status 
git add file 
#将本次改动提交到本地仓库
git commit -m "新建文件file" 
  1. 在github上或者码云上新建一个仓储A;

  2. 给本地仓库添加远程仓库A并将本地的master分支跟踪到远程的分支;

# git remote add 远程仓库名名称唯一即可 远程仓库地址 
git remote add origin https://gitee.com/isevenluo/test.git 
# 查看关联的所有的远程仓库名称及地址 
git remote -v 
# 查看所有的远程仓储名称 
git remote 
# 提交本地仓库分支(master) 给远程仓库(origin)分支(master) 此处是强制提交
git push origin master -f 
# 查看当前未提交的内容,此时应该为空
git status 

使用场景:A仓库下代码提交至B仓库

这种场景也很常见,就是已有仓库A,现在需要将A仓库的代码重新提交到远程仓库B。

  1. 克隆仓储A的代码到本地并修改;

  2. 查看当前远程仓储,结果是仓储A

git remote -v
  1. 删除当前远程分支(也可以不删)

git remote remove A
  1. 新增远程仓储B

#URL为仓储B的地址
git remote add repository_B URL 
  1. 提交本次修改至本地仓储

git add . 
git commit -am "提交修改至本地仓库"
  1. 提交本地仓库到远程仓储 repository_B 的master分支

#需强制提交,因远程分支的readMe文件与本地的有冲突
git push repository_B master -f  

需学习命令

git remote
git remote -v
git remote add repositiry_name repository_url
git remote remove repositiry_name
git push repositiry_name branch -f
git status

git push 报错 Updates were rejected because the tip of your current branch is behind

问题

在push代码时,遇到这种问题 Updates were rejected because the tip of your current branch is behind (更新被拒绝,因为当前分支的落后与远程分支)

解决

有三种方案:

  1. push前先将远程repository修改pull下来,然后在推送;

git pull origin master 
git push -u origin master
  1. 使用强制push的方法:

git push -u origin master -f 

这样会使远程修改丢失,一般是不可取的,尤其是多人协作开发的时候。

  1. 若不想merge远程和本地修改,可以先创建新的分支:

git branch [name] 
#然后push 
git push -u origin [name]

衍生问题

使用上述方法在pull时可能会遇到如下问题:

  1. git pull 提示这个错误,fatal: refusing to merge unrelated histories,中文意思就是拒绝合并不相关的历史。

解决

出现这个问题的最主要原因还是在于本地仓库和远程仓库实际上是独立的两个仓库。假如我之前是直接 git clone 的方式在本地建立起远程 github 仓库的本地克隆仓库就不会有这问题了。查阅了一下资料,发现可以在 pull 命令后紧接着使用 --allow-unrelated-history 选项来解决问题(该选项可以合并两个独立启动仓库的历史)。

git pull origin master --allow-unrelated-histories

以上是将远程仓库的文件拉取到本地仓库了,紧接着将本地仓库的提交推送到远程github仓库上,使用的命令是:

git push <远程主机名> <本地分支名>:<远程分支名> 
# 常用的举例就是: 
git push origin master:master 

这样就可以提交成功了。

  1. git pull 提示这个错误 There is no tracking information for the current branch(没有当前分支的跟踪信息)

这是因为本地分支和远程分支没有建立联系,使用下面命令查看:

# 可以查看本地分支和远程分支的关联关系
git branch -vv 
# 查看远程仓库
git remote -v 

解决方法

一种方法是直接指定远程master:

git pull origin master

另外一种方法就是先指定本地master到远程的master,然后再去pull:

git branch --set-upstream-to=origin/远程分支的名字 本地分支的名字 
git pull
 

图片

码字不易,觉得内容对你有帮助,希望你能花 0.1秒 点个赞哟~ 你小小的点赞永远是我持续创作的动力,谢谢你(疯狂比心)~

这篇关于Git常用操作总结,经常遇到但是记不住的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/656661

相关文章

Mysql表的简单操作(基本技能)

《Mysql表的简单操作(基本技能)》在数据库中,表的操作主要包括表的创建、查看、修改、删除等,了解如何操作这些表是数据库管理和开发的基本技能,本文给大家介绍Mysql表的简单操作,感兴趣的朋友一起看... 目录3.1 创建表 3.2 查看表结构3.3 修改表3.4 实践案例:修改表在数据库中,表的操作主要

C# WinForms存储过程操作数据库的实例讲解

《C#WinForms存储过程操作数据库的实例讲解》:本文主要介绍C#WinForms存储过程操作数据库的实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、存储过程基础二、C# 调用流程1. 数据库连接配置2. 执行存储过程(增删改)3. 查询数据三、事务处

Java使用Curator进行ZooKeeper操作的详细教程

《Java使用Curator进行ZooKeeper操作的详细教程》ApacheCurator是一个基于ZooKeeper的Java客户端库,它极大地简化了使用ZooKeeper的开发工作,在分布式系统... 目录1、简述2、核心功能2.1 CuratorFramework2.2 Recipes3、示例实践3

Java利用JSONPath操作JSON数据的技术指南

《Java利用JSONPath操作JSON数据的技术指南》JSONPath是一种强大的工具,用于查询和操作JSON数据,类似于SQL的语法,它为处理复杂的JSON数据结构提供了简单且高效... 目录1、简述2、什么是 jsONPath?3、Java 示例3.1 基本查询3.2 过滤查询3.3 递归搜索3.4

Python使用DrissionPage中ChromiumPage进行自动化网页操作

《Python使用DrissionPage中ChromiumPage进行自动化网页操作》DrissionPage作为一款轻量级且功能强大的浏览器自动化库,为开发者提供了丰富的功能支持,本文将使用Dri... 目录前言一、ChromiumPage基础操作1.初始化Drission 和 ChromiumPage

IDEA中Git版本回退的两种实现方案

《IDEA中Git版本回退的两种实现方案》作为开发者,代码版本回退是日常高频操作,IntelliJIDEA集成了强大的Git工具链,但面对reset和revert两种核心回退方案,许多开发者仍存在选择... 目录一、版本回退前置知识二、Reset方案:整体改写历史1、IDEA图形化操作(推荐)1.1、查看提

Linux上设置Ollama服务配置(常用环境变量)

《Linux上设置Ollama服务配置(常用环境变量)》本文主要介绍了Linux上设置Ollama服务配置(常用环境变量),Ollama提供了多种环境变量供配置,如调试模式、模型目录等,下面就来介绍一... 目录在 linux 上设置环境变量配置 OllamPOgxSRJfa手动安装安装特定版本查看日志在

利用Go语言开发文件操作工具轻松处理所有文件

《利用Go语言开发文件操作工具轻松处理所有文件》在后端开发中,文件操作是一个非常常见但又容易出错的场景,本文小编要向大家介绍一个强大的Go语言文件操作工具库,它能帮你轻松处理各种文件操作场景... 目录为什么需要这个工具?核心功能详解1. 文件/目录存javascript在性检查2. 批量创建目录3. 文件

Java常用注解扩展对比举例详解

《Java常用注解扩展对比举例详解》:本文主要介绍Java常用注解扩展对比的相关资料,提供了丰富的代码示例,并总结了最佳实践建议,帮助开发者更好地理解和应用这些注解,需要的朋友可以参考下... 目录一、@Controller 与 @RestController 对比二、使用 @Data 与 不使用 @Dat

java常见报错及解决方案总结

《java常见报错及解决方案总结》:本文主要介绍Java编程中常见错误类型及示例,包括语法错误、空指针异常、数组下标越界、类型转换异常、文件未找到异常、除以零异常、非法线程操作异常、方法未定义异常... 目录1. 语法错误 (Syntax Errors)示例 1:解决方案:2. 空指针异常 (NullPoi