GitHub拉取请求与Git命令行合并

面包卷

在处理和关闭请求请求时,您有三个合并选项。创建合并提交Squash和merge以及Rebase和merge我不知道这些选项如何转换成实际的Git命令-尤其是关于--no-ff

合并对话框列出了这两个(步骤1和步骤2)示例:

git fetch origin
git checkout -b develop origin/develop
git merge master

和:

git checkout master
git merge --no-ff develop
git push origin master

但是我很困惑,因为这三个示例都是相同的示例。这是不对的。所以我想我只是在这里误解了用户界面。

Git的命令是什么,并且在--no-ff任何地方在使用?

星期二

在处理和关闭请求请求时,您有三个合并选项。创建合并提交Squash和merge以及Rebase和merge我不知道这些选项如何转换成实际的Git命令-尤其是关于--no-ff

  • GitHub上的“进行合并”按钮对应于:

    git checkout <branch>
    git merge --no-ff -m <message> <commit-hash>
    

    其中message部分是你不得不手工生成的,因为你的本地Git不会知道拉请求(其数量,以及任何其他资料库)的细节。branch部分是您的目标分支:合并完成后,您要启用合并提交的分支。

    请注意,此时您必须commit-hash在存储库中具有指定的提交对象。GitHub的幕后的操纵手段,它在GitHub上的Git仓库可用,但它是一个下所列refs/pull/的参考,而不是一个分支名称,在该存储库中。

  • GitHub上的“压缩和合并”按钮对应于:

    git checkout <branch>
    git merge --squash <commit-hash>
    git commit
    

    git commit被要求,因为命令行--squash标志开启命令行--no-commit标记。

  • GitHub的“ rebase and merge”按钮对应于:

    # maybe: create a branch name (consider using git checkout -b next)
    git checkout <commit-hash-or-branch-name>
    git rebase <branch>
    git checkout <branch>
    git merge --ff-only <hash-or-name>
    # maybe: delete a branch name
    

    这是最复杂的一个:commit-hash-or-name要么是您要提供给其他两个的提交哈希ID,要么是标识该提交哈希ID的分支名称,最好是您在此操作过程中刚刚组成的临时名称。git rebase然后,操作必须自己成功-否则,GitHub本身将无法为您提供重新合并的功能。

    如果重新设置操作确实成功,并且您选择使用分离的HEAD进行操作,则现在必须保存重新创建的提交的哈希ID。如果您选择使用某个临时分支名称来执行此操作,则此时不需要特殊设置。

    现在提交的原始链已通过变基操作复制的,现在git checkout的分公司要更新按快进和运行git merge --ff-only操作。您在此处提供的名称或哈希ID是成功进行的变基操作,它作为分离的HEAD的尖端生成,或更新为临时分支名称。

    如果使用临时分支名称,则现在应删除该临时分支名称。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

拉取请求与合并请求

如何使用git签出GitHub拉取请求?

GitHub:重新打开合并的拉取请求

在Github中合并拉取请求时触发Jenkins构建

Github桌面在哪里安装Git的命令行版本

git request-pull:如何在命令行上创建(github)拉取请求?

git:如何将拉取请求合并到派生?

Github拉取请求检查

如何使用github UI或通过命令行将来自主项目分支的拉取请求应用于我的fork?

使用GitHub拉取请求的正确git配置是什么?

命令行上请求请求的Git语法

如何从命令行创建TFS拉取请求

避免在git的拉取请求中合并提交

使用SSH访问密钥从命令行进行Bitbucket拉取请求

在GitLab中从命令行合并请求

为什么git无法获取我在GitHub中合并的拉取请求?

合并拉取请求后,Git状态不显示差异

Git命令从发行号获取拉取请求主题

如何在“ TFS 2015”中将“拉取请求ID”传递给命令行构建任务?

如何使用命令行git从Github接受拉取请求(PR)

在Github中,我要阻止成员合并拉取请求

TFS Git-拉取请求“合并失败”

GitHub拉取请求合并已禁用

如何避免使用API延迟github拉取请求合并

如何在命令行上查看所有打开的拉取请求?

Github 和 Cocoapods - 安装未合并的拉取请求

git push 后总是从命令行链接到 GitHub 拉取请求?

Github 操作合并特定拉取请求

如何使用命令行將 GitHub 上的拉取請求重新分配給其他用戶?