首页 > 其他分享 >git分支合并文件丢失问题

git分支合并文件丢失问题

时间:2024-03-22 15:59:19浏览次数:16  
标签:文件 git 删除 合并 修改 丢失 分支

一、产生问题

 某些情况下,我们将两个分支进行合并时,在没有提示手动解决冲突的情况下下,文件会丢失。这可能是以下问题导致的。

二、问题所在

 git分支的合并,并不是多个分支简单的求内容的并集。假设我们有两个分支a与b,并且a与b中有相同的文件名c。当我们对a与b中的文件c内容进行修改并合并时,会产生如何手动解决冲突的提示(如果两次修改有冲突的话),这是一种简单的情况就不过多描述了。
 重点在于,如果将a中的文件c删除呢?此时将b合并到a上,a里面也不会再有文件c了,它会提示already up to date,已经是最新的状态,无法更新(合并)。将a合并到b上呢?此时b中的c文件也会被删除。

三、如何解决

 通过以上描述,问题所在就很清晰了。分支合并时,会以某分支最近的一次更新为主。删除分支a中的文件c时合并,会被认为文件c已经被弃用了。所以无论是a合并到b或者反过来,文件c都不会再出现,并且另一个分支中的文件c也会被删除。解决这个问题也很简单,如果删除了a中的文件c,这时候需要修改分支b中的文件c,这时分支b对文件c的修改就变成了最近的一次更新。再合并就不会丢失了。

标签:文件,git,删除,合并,修改,丢失,分支
From: https://blog.csdn.net/klk20001113/article/details/136867382

相关文章

  • [Git]文件过大在wsl内无法clone的问题
    git文件1.4G,提示http有网络问题或者缓存不足:查看git配置gitconfig--list设置git配置gitconfig--globalhttp.versionHTTP/1.1gitconfig--globalhttp.postBuffer524288000取消git配置gitconfig--global--unsethttp.versiongitconfig--global--unsethttp.postbu......
  • 如何打造一个花里胡哨的Github个人主页?
    1、介绍2、使用2.1、创建一个同名仓库2.2、引用模板2.3、为内容添加有趣模块2.3.1、徽章badge2.3.2、waka时间展示2.3.3、展示GitHubstars等信息2.3.4、GitHubcontributions贪吃蛇游戏3、总结1、介绍今天介绍下GitHub的一项特色功能-GitHubprofile,......
  • git 网络问题
    gitnetworkerrorunabletoaccessSSL_ERROR_SYSCALL/Failurewhenreceivingdatafromthepeer修改gitconfig里面http.proxy/https.proxygitconfig--global-egitconfig--globalhttp.proxy127.0.0.1:7890gitconfig--globalhttps.proxy127.0.0.1:7890h......
  • 忘记gitlab代码仓库登录密码,如何找回?
    一、密码要求必须是管理员或者自管理的Gitlab实例密码长度限制:Minimum:8charactersMaximum:128characters避免使用弱密码:例如gitlab、人名 二、密码找回方式2.1使用UI【适用普通账号】使用root账号,登录后,进入到管理中心。 搜索到用户后,点击编辑按钮 编辑态......
  • git 提交后没push想撤回怎么办
    提问git提交后没push想撤回怎么办回答gitreset命令分为两种:gitreset–-soft与gitreset–-hard,区别是:  前者表示只是改变了HEAD的指向,本地代码不会变化,我们使用gitstatus依然可以看到,同时也可以gitcommit提交。后者直接回改变本地源码,不仅仅指向变化了,代码也回......
  • 进入 git-lfs 目录卡顿问题。
    当前系统ubuntu22.04当使用git-lfs克隆一个项目的时候,会遇到执行ls就会非常卡。进程见git-lfs有大占用,io写入进程也见git-lfs.随之寻找解决方法。见https://github.com/git-lfs/git-lfs/issues/5310中bk2204回复到Ifyou'reusingGit2.34ornewer,youalso......
  • ROS git使用
    ROSgit使用基本流程创建ROS项目和初始化Git仓库这里是使用Git和VisualStudioCode(VSCode)来管理一个ROS项目的完整指南,包括创建项目、初始化Git仓库、更改本地默认分支为main,以及将代码推送到远程仓库的步骤:创建ROS项目创建工作空间:mkdir-p~/r......
  • 如何在极狐GitLab Runner 添加信任缓存域名证书
    本文作者:徐晓伟GitLab是一个全球知名的一体化DevOps平台,很多人都通过私有化部署GitLab来进行源代码托管。极狐GitLab是GitLab在中国的发行版,专门为中国程序员服务。可以一键式部署极狐GitLab。问题参见:场景是极狐GitLabRunner添加MinIO域名host的时候却无法验证......
  • 如何给极狐GitLab Runner 添加 MinIO 域名 host
    本篇作者:徐晓峰GitLab是一个全球知名的一体化DevOps平台,很多人都通过私有化部署GitLab来进行源代码托管。极狐GitLab是GitLab在中国的发行版,专门为中国程序员服务。可以一键式部署极狐GitLab。本篇文章介绍了如何自定义极狐GitlabRunner使用的MinIO域名host问......
  • Git22_使用SSH协议传输数据6
    一、Git支持的传输协议由于Git的远程仓库并不在我们本地,当我们在使用远程仓库的时候(例如克隆、拉取、推送)就会涉及到数据的网络传输,Git支持多种数据传输协议本地协议(Local)HTTPS协议SSH(SecureShell)协议Git协议我们前面的操作都是基于HTTPS协议进行的,本章节我们会学......