如何使 git merge 处理对我的工作树的未提交更改?

2024-04-27

我和一位同事目前都在主分支上工作。我的工作树中有一些我不想提交的代码(调试语句等)。现在,如果他对其中一些相同的文件提交更改,我将无法合并它们:

$ git merge origin/master
Updating 1b8c5c6..eb44c23
error: Entry 'blah.java' not uptodate. Cannot merge.

来自颠覆背景,我习惯于当我从存储库中提取更改时自动合并我的工作树,如果存在冲突,我会手动解决它们。

我发现在 git 中执行此操作的最快方法是:

$ git stash
$ git merge origin/master
$ git stash pop

本质上,删除我未提交的更改,进行合并,然后重新应用更改。我如何告诉 merge 自动将我的工作树与我试图引入的更改合并?


忘记你从颠覆中学到的一切。

始终在引入外部更改之前进行提交。

想象一下,你有一个大部分工作的树——也许并不完美,但你正在取得一些进展。然后你去进行合并,你引入的代码造成了严重破坏(本身就有错误,有太多冲突需要处理,等等......)。如果你能撤销它不是很好吗?

如果你承诺,你就可以。如果你不这样做,你只会受苦。

记住:你所承诺的并不have成为你所推动的,但你不承诺的,你很容易就会失去。

只要做安全、简单的事情,尽早承诺并经常承诺即可。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使 git merge 处理对我的工作树的未提交更改? 的相关文章

  • Git 与 master 合并,无需签出 master

    每次我需要的时候merge develop with master I do git checkout master git merge develop 有时我忘记切换出去master 因此 我在运行时错误地更改了代码master 它可能会
  • 添加和提交文件后Git推送不起作用

    I m new to Github and Git tried to use gitbash on Windows After adding and committing files If I add the git push cmd Th
  • TortoiseGit 与 TortoiseSVN 并存?

    我已经使用 TortoiseSVN 好几年了 但我正在考虑慢慢改用 git 因为我真的很喜欢它的分支和合并 我目前正在通过命令行使用 git 但正在考虑安装 TortoiseGit 有人有并排使用两只乌龟的经验吗 这有什么已知的问题吗 我真
  • 将 WordPress 保持在版本控制中 - 主题的单独存储库

    我的 WordPress 项目位于 Git 下 并将 WordPress 作为子模块 我想将主题开发保留在单独的子模块中 但在当前设置内 将主题设置为子模块时遇到一些困难 这是我的文件系统 git master repo index php
  • 为 3 人团队设置 Git?

    这篇文章的目的是总结所有信息 为 3 人参加比赛建立一个封闭的存储库 请随意将我没有注意到的问题添加到列表中 请将每个问题的每个答案添加为单独的答案 情况一 草稿和文件可以在3人之间交换 这 writer 只能将文件推送到 存储库 情况B
  • 如何使用 jenkins shell 创建新的 git 分支

    我想达到以下目标 在某些詹金斯工作中 从 dev branch 创建一个新分支 对新创建的分支 new branch 进行一些更改 将新创建的分支推送到 git repo 我在詹金斯中执行了以下步骤 我已经在 源代码管理 部分配置了我的 g
  • Azure DevOps/VSTS 始终在干净的存储库上报告“DETACHED HEAD”

    Friends 我现在厌倦了 Azure DevOps VSTS Jenkins 好多了 现在仍然如此 只是我的组织想要使用 Azure DevOps 我有一个谜团需要帮助来解决 以下是我的笔记本电脑上的存储库 它没有未跟踪或未提交的更改
  • 在 git 中编辑分支?

    我在 github 网站上创建了一个分支 该分支不在我的本地存储库中 如何将该分支带到我的本地计算机 对其进行编辑 然后将其推送回我的 github 帐户 在本地工作目录中输入 git fetch origin newbranch git
  • 合并分支时,Git 不显示已删除行的当前/传入更改

    我正在尝试了解有关 git 分支 合并的更多信息 一直以来只使用 master 分支 我分支两次 然后执行合并 为什么 git 只显示新的冲突行 我想知道为什么删除 熊 根本没有突出显示为更改 您已经在评论中介绍了其中的一些内容 但让我们把
  • Git 二进制文件与 .gitattributes 中的 -diff

    在 gitattributes 中有以下等价内容 chm binary chm diff 我努力了 chm二进制文件 但恐怕它仍然可能尝试合并这些文件 是 diff更适合我打算做什么 另外 在提交给定类型的文件后 此设置是否适用 Thank
  • 在 github 上查找强制推送的提交者

    在我们的项目 托管在 GitHub 上 中 每隔一段时间就会有人意外强制推送 master 没有人知道是否这样做 我想找出是谁干的 以及背后有什么样的错误配置的工具或坏习惯 那么问题来了 如何识别进行强制推送的用户呢 当我拉动时 我看到这样
  • 从历史记录中删除不需要的文件,包括带有过滤分支的所有引用

    我最近克隆了一个 SVN 存储库 其中曾经有一些二进制文件 但不再需要了 不幸的是 我已经将它和包含的二进制文件推送到了 Github 我现在想使用 git filter branch 删除它们 但在标签和分支方面我遇到了一些问题 基本上
  • 使用子模块克隆存储库:覆盖凭据

    我必须automate克隆存储库并获取它的所有子模块 存储库子模块的 url 指定于 gitmodules 如果我要使用默认值 我就会这样做 git clone recursive https username email protecte
  • Git 中的提交是越多越好还是越少越好? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我最近与一位同事进行了一场辩论 他坚持认为 由于合并冲突 提交越少越好 我认为通过使用尽可能多的提交获得的细节越多越好 提交更多还是更少更好 为
  • 如何使用 Github Pages 分支正确提交到存储库中

    我有一个问题 情况基于gh pages https pages github com 我的项目使用预处理器和其他困难的人员 因此 我的项目结构如下所示 主分支 src node modules public js css etc index
  • 如何将 man 和 zip 添加到 Windows 上的“git bash”安装中

    我在用git bash https git for windows github io 在 Windows 上 即git对于 Windows 通过集成bash 显然它使用的是MINGW MSYS支撑 来自 VonC 的更新 现在使用 msy
  • 如何在保留历史记录的同时将 git 存储库重新设置为父文件夹?

    我有一个 git 仓库 foo bar baz具有大量的提交历史和多个分支 我现在想要 foo qux位于同一个仓库中 foo bar baz 这意味着我需要它们都位于植根于的存储库中 foo 但是 我想保留我所做的更改的历史记录 foo
  • 如何归档旧的 git 标签?

    我的 git 存储库中有一些不再重要的旧标签 我想存档标签 以便在运行 git tag 时默认情况下它们不会显示 我不想删除它们 因为我想保留历史记录 我怎样才能做到这一点 可以将标签保留在存储库中并避免将它们列为标签 它还可以避免默认克隆
  • 有时 git 告诉我每个文件都是新的且未暂存?

    我将对文件进行更改 转到 Windows UI 的 GitHub 提交我的更改 然后点击同步按钮 然后它说错误 尝试使用 shell 代替 所以我进入 shell 并输入git status 它告诉我存储库中的每个文件都是新的且未暂存 大约
  • 如何使用 BFG 删除受保护的提交

    使用 BFG 清理存储库时 https rtyley github io bfg repo cleaner https rtyley github io bfg repo cleaner 遇到以下情况 Protected commits T

随机推荐