首页 > 其他分享 >git 您有偏离的分支,需要指定如何调和它们。您可以在执行下一次

git 您有偏离的分支,需要指定如何调和它们。您可以在执行下一次

时间:2024-10-24 16:20:59浏览次数:6  
标签:pull git 调和 -- rebase 偏离 config 分支

前言全局说明


一、说明

使用 git 多人提交时,如果你 执行 git commit 后,又执行 git push ,但此时,你的同事比你早几秒提交,此时,你push 时,就会因为你没有pull导致报错。最简单的方式,是重新拉取整个库,但如果库很大,每次拉也不太现实。


二、错误提示

2.1 git pull 提示

提示:您有偏离的分支,需要指定如何调和它们。您可以在执行下一次
提示:pull 操作之前执行下面一条命令来抑制本消息:
提示:
提示:  git config pull.rebase false  # 合并
提示:  git config pull.rebase true   # 变基
提示:  git config pull.ff only       # 仅快进
提示:
提示:您可以将 "git config" 替换为 "git config --global" 以便为所有仓库设置
提示:缺省的配置项。您也可以在每次执行 pull 命令时添加 --rebase、--no-rebase,
提示:或者 --ff-only 参数覆盖缺省设置。
致命错误:需要指定如何调和偏离的分支。

image


三、原因

git config pull.rebase false 的作用是设置 Git 在执行 git pull 命令时使用 merge 而不是默认的 rebase。
git pull 命令是将远程分支的更新合并到本地分支,如果本地分支有更新,则会自动执行合并操作。
默认情况下,git pull 命令会使用 rebase 的方式来合并分支。

使用 rebase 的好处是可以保持提交历史的线性,避免了 merge 产生的分支合并记录。
但是,如果在多人协作的项目中使用 rebase,可能会破坏提交历史,导致代码冲突,因此需要谨慎使用。 

通过设置 git config pull.rebase false,Git 将默认使用 merge 的方式来合并分支,从而避免了 rebase 带来的潜在问题。

需要注意的是,如果在执行 git pull 命令时指定了 --rebase 选项,则 Git 会优先使用 rebase 的方式来合并分支,
而不受 git config pull.rebase 的设置影响。

因此,如果需要强制使用 merge 的方式来合并分支,可以在执行 git pull 命令时添加 --no-rebase 选项。

四、解决方法

4.1 查看配置

4.1.1 查看系统级配置
git config --system pull.rebase
4.1.2 查看当前用户级
git config --global pull.rebase
4.1.1 查看项目级
git config pull.rebase

4.2 临时,执行命令添加 --no-rebase 选项

git pull --no-rebase
git push --no-rebase

4.3 永久,写道配置文件中

4.3.1 写到系统级(不推荐)
git config --system pull.rebase false
4.3.2 写到当前用户级
git config --global pull.rebase false
4.3.1 写到项目级
git config pull.rebase false

4.4 取消配置

4.4.1 取消系统级配置
git config --system --unset pull.rebase
4.4.2 取消当前用户级
git config --global --unset pull.rebase
4.4.1 取消项目级
git config --unset pull.rebase

五、 配置文件路径

5.1 系统级,配置文件路径

Windows 配置项写入到 "C:\Program Files\Git\etc\gitconfig" 文件中。
Linux 配置项写入到 "/etc/gitconfig" 文件中。

5.2 当前用户级,配置文件

Windows 配置项写入到 "C:\Users\<用户名>\gitconfig" 文件中。
Linux 配置项写入到 "/home/${USER}/gitconfig" 文件中。

5.1 项目级,配置文件

.git/gitconfig


免责声明:本号所涉及内容仅供安全研究与教学使用,如出现其他风险,后果自负。




参考、来源:
https://blog.csdn.net/kuang_nu/article/details/129592235
https://www.cnblogs.com/wutou/p/17585668.html



标签:pull,git,调和,--,rebase,偏离,config,分支
From: https://www.cnblogs.com/wutou/p/18499842

相关文章

  • vscode github copilot 插件逆向分析
    vscodegithub插件逆向分析,接口https://codex.micosoft.icu/chat/completions。  你是一个人工智能编程助手当被问到你的名字时,你必须回答‘GitHubCopilot’严格且逐字地遵循用户的要求必须遵守微软制定的内容规范,包括确保内容的安全性、合法性和适宜性,防止仇恨言论、......
  • 将本地项目上传到gitlab
    当遇到先是本地创建项目开发,需要把项目传到gitlab代码托管中心的时候,可以执行一下几步操作:先在gitlab上创建好项目名称,和本地的项目名称一致,再进入本地项目文件夹下,打开git的bash客户端,执行命令1、初始化仓库,将文件夹设置为本地仓库gitinit2、建立本地与github......
  • 如何快速在github中下载东西
    快速在github中下载东西的方法:1.使用GitClone;2.使用GitHubDesktop;3.使用下载按钮;4.使用wget或curl;5.使用GitHubCLI。Git是GitHub的基础技术,你可以使用GitClone命令从GitHub上克隆(下载)整个仓库到你的本地计算机。1.使用GitCloneGit是GitHub的基础技术,你可以使用Git......
  • GitHub和GitLab在代码托管和协作中有什么区别
    GitHub和GitLab是两个流行的代码托管和协作平台,虽然它们在功能和目的上有许多相似之处,但在一些关键方面存在显著差异。主要区别有:1.界面设计和用户体验;2.功能特性和应用;3.集成工具和插件;4.社区支持和开源项目;5.定价策略和企业应用;6.安全性和私有性。1.界面设计和用户体验GitHu......
  • 如何在Git中删除一个仓库
    在Git中删除一个仓库分为两种情况,分别是:一、从远程仓库中删除仓库;二、从本地仓库中删除仓库。从远程仓库中删除仓库的步骤有:1.登录到远程仓库;2.找到仓库;3.进入仓库设置;4.删除仓库;5.确认删除;6.等待删除完成;7.删除完成。首先,你需要登录到托管你项目的远程仓库平台,如GitHub、......
  • GitLab 中文版正式发布最新版本 17.5
    沿袭我们的月度发布传统,极狐GitLab发布了17.5版本,该版本带来了多仓库MR合并时考虑统一主流水线的执行状态(JH-only)、增强的分支规则编辑功能、密钥推送保护已经正式可用等几十个重点功能的改进。下面是部分重点功能的详细解读。关于极狐GitLab的安装升级,可以查看官方指导文......
  • 报error:0308010C:digital envelope routines::unsupported错--nodejs版本过高(nvm安
    最近小编入职实习,运行(npmrundev)前端项目时报error:0308010C:digitalenveloperoutines::unsupported的错,一查发现原来是nodejs版本过高,与项目不匹配。接下来介绍更换nodejs版本的方法。第一种:官网下载通过nodejs官网下载安装,但有个缺陷,不同版本的nodejs无法顺利的切换......
  • 【Ambari编译报错】phantomjs从github上下载失败导致无法编译的问题
    PhantomJS下载失败问题1.错误分析下面是完整的报错日志:[ERROR]npmverbunsafe-perminlifecycletrue[ERROR]npmverbunlockdoneusing/root/.npm/_locks/phantomjs-ca2567298810d09d.lockfor/opt/modules/ambari/ambari-admin/src/main/resources/ui/admin-......
  • git 小技巧
    一、git撤回或修改之前提交并且不影响被撤回或修改提交之后的提交信息操作1.首先将指定分支克隆下来并备份gitclone-bxxxhttpxxxxx//xxx分支名cpxxxxxx_backup2.先备份对应提交的patch并移动到别的目录中,防止后续gitreset的时候清掉gitformat-match......
  • 极狐GitLab 发布安全补丁版本17.3.3, 17.2.7, 17.1.8, 17.0.8, 16.11.10
    近期,极狐GitLab正式推出安全版本17.3.3,17.2.7,17.1.8,17.0.8,16.11.10,用来减缓安全漏洞CVE-2024-45409带来的安全风险。极狐GitLab正式推出针对GitLabCE老旧版本免费用户的GitLab专业升级服务,可以为老旧版本进行专业升级,避免业务宕机。漏洞详情标题严重等级C......