保持分支与 master 保持同步

2024-01-09

我有一个远程存储库,我已从该存储库中提取并从中分支。我想让新分支与 master 所做的更改保持同步。我正在考虑下面的工作流程,它是否有意义或者是否有更好的方法来做到这一点?

  1. 初始分支和结账:

    git checkout master
    
    git pull
    
    git checkout -b my_branch
    
  2. 做一些工作my_branch,然后定期:

    git checkout master
    
    git pull
    
    git checkout my_branch
    
    git merge master --no-ff
    

根据需要重复步骤 2,定期推送到遥控器my_branch.

然后当准备好合并回来时:

git checkout master

git merge my_branch --no-ff

听起来还好吗?


您可以简化您的命令:

1.

git fetch
git checkout -b my_branch origin/master

2.

git fetch
git merge origin/master

git fetch更新您的远程分支,当您不打算在该分支上工作时,通常不需要拥有该分支的本地副本。

您可以省略--no-ff设置后git config --global merge.ff false.

git help config says:

   merge.ff
       By default, Git does not create an extra merge commit when merging
       a commit that is a descendant of the current commit. Instead, the
       tip of the current branch is fast-forwarded. When set to false,
       this variable tells Git to create an extra merge commit in such a
       case (equivalent to giving the --no-ff option from the command
       line). When set to only, only such fast-forward merges are allowed
       (equivalent to giving the --ff-only option from the command line).

意识到git pull只是一个组合git fetch and git merge.

通常你只是想要git pull --rebase这本质上是git fetch plus git rebase,并创造了更加清晰的历史。

您的“定期推送”有什么原因吗?如果没有其他人在同一个分支上工作,那就完全没问题,只需在完成所有操作后进行推送即可。

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

保持分支与 master 保持同步 的相关文章

  • 我在使用“heroku open”命令时遇到错误

    我在 heroku 上创建了一个 python 应用程序 推动后我给了heroku open命令 我在浏览器上遇到这样的错误 Application Error An error occurred in the application an
  • 当你的项目有秘钥时,如何推送到 GitHub?

    我正在尝试将一个全新的空 Rail 3 0 4 项目推送到 GitHub 但刚刚意识到 cookie 会话存储有一个密钥 In config initializers secret token rb NewRuby192Rails304Pr
  • 如何让 Git diff 忽略版本号更改?

    有没有办法从 Git diff 中消除版本号变化噪音像这个 https github com keith Xcode app strings commit 9502c601cad31ef452c4cd6e8ece3982345fba1d 具
  • 如何将 HEAD 移回之前的位置? (分离头)和撤消提交

    在 Git 中 我试图做一个squash commit通过合并到另一个分支然后重置HEAD通过以下方式前往上一个地点 git reset origin master 但我需要走出这一步 如何将 HEAD 移回之前的位置 我有 SHA 1 片
  • 在 GitHub 上看不到“在 Xcode 中打开”按钮

    正如在GitHub 和 Xcode 9 中的新源代码管理工作流程 https developer apple com videos play wwdc2017 405 time 204Apple 视频会话 我们可以直接从 Xcode 克隆项
  • Git merge --squash 可以保留提交注释吗?

    有没有一种方法可以自动添加压缩后的所有提交注释mybranch执行时提交 git merge squash mybranch 这样单个提交包含所有提交注释的串联mybranch 我认为这就是 git merge squash 自动执行的操作
  • 为什么 iTerm2 中不显示 git 颜色

    所以我有我的 gitconfig 设置来处理颜色 在终端中它工作得很好 看起来也不错 然而 在 iTerm2 中 除非我为 git 设置反向属性 否则我的 gitconfig 根本不会显示颜色 然后它们就出现了 但是谁喜欢相反的颜色呢 为什
  • 如何恢复已删除的文件[重复]

    这个问题在这里已经有答案了 可能的重复 在 Git 存储库中恢复已删除的文件 https stackoverflow com questions 953481 restore a deleted file in a git repo 如何恢
  • 我应该从哪里安装 git:xcode-select --install 还是brew install git?

    我应该从哪里安装 git xcode select install or brew install git 你需要做xcode select install无论如何 如果你想做任何开发 然后你可以做 brew install git 它将安
  • 在大型团队中使用 git VS Mercurial 和 Xcode 进行 iOS 开发有何优缺点?

    我们希望在一个项目上一起工作 签出 签入文件 一些开发人员推荐 git 其他开发人员更喜欢 Mercurial 有没有人对这两者都有经验 并且能告诉我为什么我应该花时间在不与 Xcode 集成的 Mercurial 上 而不是只使用集成的
  • 分支和文件夹的 gitolite 权限

    在 gitolite 我想要 developers能够推送到除以下之外的任何分支master I want user1能够推送到任何分支 包括master 除了不是某个目录master 我该怎么做呢 这应该解决以下两个问题 repo are
  • github 网络图查看器的替代品? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 当我单击 github 上的 forks 按钮时 我想获得一个摘要 这就是我使用网络图查看器获得的结果 但它并不完全理想 我会做什么ide
  • Git:从远程获取特定对象

    在工作中我们必须应对一个非常庞大的 git 存储库 90Go 在尝试调整本地副本上的一些内容后 我的包文件出现错误 尝试解压它 我可能删除了一些目标文件 例如 gt git GC 错误 无法读取 af9ed8 snip 致命 坏树对象 af
  • Git 粒度——解决一行内的差异

    git 基于行的粒度或 diff 粒度是否可以增加到单词 字母分辨率 每行多条语句或使用 git 编写纯文本是值得的 根据评论重新阅读问题时 我想我明白了您最初的意思 所以我将给出一个真正的答案 与伊斯梅尔 巴达维的一行评论 https s
  • dulwich - 从远程仓库身份验证克隆

    我找不到有关此主题的任何资源 我需要通过提供用户名和密码从私有存储库进行克隆 然而 当它们作为关键字参数提供给 dulwich get client from path 时 会出现错误 提示 未知参数 用户名 这似乎是一件简单的事情 但我找
  • 更快的“git rebase --preserve-merges”方法

    我通过创建一系列功能分支来使用 git 并在完成后将它们合并到 mastergit merge no ff 这会创建空的合并提交 可用于识别先前功能分支的起点和终点 为了处理多个并发分支 甚至嵌套分支 我使用 rebase 我从不合并回去
  • Git core.safecrlf 对具有相同行结尾的文件有不同的行为

    我有带有 VS 项目的 Windows 计算机 并且使用 Visual Studio 和 Cygwin 环境中的工具 包括 Git 有时 编辑后我会在文件中得到不同的行结尾 我想要简单的解决方案来检查文件的行尾一致性 然后再将其发送到存储库
  • 有没有办法显示 Visual Studio 执行的 Git 命令? [复制]

    这个问题在这里已经有答案了 在 Visual Studio Code 中 有一个 显示 Git 输出 菜单项 显示最近运行的 Git 命令 有关其外观的示例 请参阅3 35 在这个视频中 https code visualstudio co
  • git 列出所有可用命令

    有没有命令可以显示 GIT 中所有可用命令的列表 有git help但它显示 usage git version exec path
  • 如何在 git merge 提交中列出冲突的文件(父级都有更改的文件)?

    qgit 有一个很好的选择 可以在合并提交中查看 有趣 的文件 其中有趣的文件被定义为在两个父文件中都有更改的文件 查看此类文件的相应命令行是什么 git show name status SHA1 of merge 将向您显示提交消息和在

随机推荐

  • 将 Azure 虚拟机添加到现有可用性集

    我想在 Azure 中创建两个不应相互连接的虚拟机 我创建了第一个虚拟机 并在其创建过程中创建了一个可用性集 现在 当我创建第二个虚拟机时 我不会在可用性集的下拉列表中获得作为第一个虚拟机的一部分创建的可用性集 但是 如果我尝试将第二个虚拟
  • 无法从 Java Process(Runtime.getRuntime().exec() 或 ProcessBuilder)读取 InputStream

    我正在尝试使用 Java 从外部启动一个进程 但无法从其输入流中读取任何内容 如果我使用 ls ps 或 kill 等命令启动进程 一切都会正常 我可以启动该进程并获取有关该进程的 InputStream 或 ErrorStream 的信息
  • 在 Visual Studio Code 中设置“outDir”属性

    当我尝试调试 C 程序时 我继续收到此错误 can t launch program c Users my username Desktop C setting the outDir attribute might help 我尝试了各种语
  • 强制gcc在64位平台上编译32位程序

    我有一个专有程序 正在尝试在 64 位系统上使用 当我启动安装程序时 它工作正常 但是在它尝试更新自身并编译一些模块后 它无法加载它们 我怀疑这是因为它使用 gcc 并且 gcc 尝试为 64 位系统编译它们 因此该程序无法使用这些模块 有
  • 即时将文件上传到 Azure Blob

    我正在尝试创建一个文件并将其放入 blob 中CloudBlockBlob UploadFromStreamAsync method 这是代码 private async void CreateCsvFile int recId using
  • Android OnLayout何时调用?

    我开发一个自定义View它延伸自ViewGroup 这意味着我需要实施onLayout方法 我认为当视图显示在屏幕上时会调用此方法 但我认为这是不对的 你能解释一下什么时候onLayout方法调用以及我需要在该方法中实现什么 它让我崩溃 因
  • 如何在选择选项的 HTML 标签中应用字体系列

    我正在应用字体系列
  • 从 ArrayNode 创建 Java 8 流

    是否可以创建流com fasterxml jackson databind node ArrayNode 我试过 ArrayNode files ArrayNode json get files Stream
  • 如何在 PDF 完全下载之前使其显示在网络浏览器中

    我有一个客户一直在努力解决网络上 pdf 文件加载缓慢的问题 我的客户有一些非常大的 pdf 文件 几乎有 10 Mb 下载它们需要 3 4 分钟以上 在加载整个文件之前 这些文件不会显示 我们和他们已经看到其他网站的 pdf 一次加载一页
  • topLevelAwait 对 babel-loader 无效:'await' 只允许在异步函数中使用

    webpack5支持topLevelAwait 只需添加以下选项 webpack config js module exports experiments topLevelAwait true 现在我们可以愉快地使用顶级等待 如下所示 im
  • 尽管启用了 kapt. CorrectErrorTypes,kapt 仍将生成的类引用替换为 error.NonExistentClass

    我有一个自定义注释处理器 大致执行以下操作 生成注释类型 使用此类型的类被推迟到后面的轮次 在后面的一轮中 使用这种类型处理类并为它们生成更多文件 到目前为止 这在 Java 中运行良好 但最近 我将一些类从 Java 转换为 Kotlin
  • Xcode 无法导入 tapku 或 kal 库

    我在导入 tapku 库 使用它提供的日历 api 时遇到问题 我也尝试过 Kal 遇到同样的问题 这是我导入它的方法 如果我遗漏了什么 请告诉我 使用 Xcode 4 5 转到文件 gt 将文件添加到项目 gt TapkuLibrary
  • .NET 7 Blazor MAUI - 需要使用 Azure 用户登录进行身份验证

    我正在开发 Blazor MAUI 应用程序 并且我试图要求组织中的用户使用其 Microsoft 工作帐户登录才能访问该应用程序 我在 Blazor MAUI 中找不到太多有关身份验证的文档 并且一直在努力寻找可行的解决方案 目前 我一直
  • Android:View.getTag/setTag 和 IllegalArgumentException

    是的 我知道在调用这些需要密钥的函数版本时 您需要一个唯一的资源 ID 但我一生都无法弄清楚如何创建可以这种方式使用的资源 ID 我的类中的最终变量不起作用 硬编码值也不起作用 两者都抛出了 IllegalArgumentException
  • 如何获取维基百科页面的所有链接及其维基数据 ID?

    什么时候 以下的事情可能实现 在单个查询 API 调用中获取维基百科页面上的所有链接及其各自的维基数据 ID 的列表 通过查询接收各个维基数据项的附加信息 例如属性值 要获取您必须使用的所有维基百科页面链接维基百科API https en
  • 如何从 PDF 中提取数据?

    我的公司通过 Excel 从外部公司接收数据 我们将其导出到 SQL Server 以运行数据报告 他们现在正在更改为PDF格式 有没有办法可靠地从PDF中移植数据并将其插入到我们的SQL Server 2008数据库中 这是否需要编写一个
  • 如何使用GCC将C代码编译为8088汇编?

    我一直在寻找一条信息 但似乎找不到它 也许你们可以帮助我 这是一个简单的问题 如何使用GCC将C代码编译成8088汇编 我正在用 8088 汇编语言编写一个小程序 想知道编译器是如何完成某些事情的 这真的很棒 Thanks djgpp 有一
  • 如何在 Python 中创建 Socket.io 客户端以与 Sails 服务器通信

    我正在运行一个SailsJS我有一个控制器的实例 v0 12 3 我的模型控制器处理 WebSocket socket io 如果用户已通过身份验证 则允许连接 我的模型控制器 module exports Socket connectio
  • 如何使 VS2010 优先选择一个包含目录而不是另一个?

    我正在尝试使用XInput h来自 DirectX SDK 的文件 但此文件也存在于 Windows SDK 中 并且它是该文件的不同变体 我尝试过添加 DXSDK DIR Include 到在项目设置中包含目录 之前和之后 Include
  • 保持分支与 master 保持同步

    我有一个远程存储库 我已从该存储库中提取并从中分支 我想让新分支与 master 所做的更改保持同步 我正在考虑下面的工作流程 它是否有意义或者是否有更好的方法来做到这一点 初始分支和结账 git checkout master git p