【发布时间】:2019-11-16 12:39:29
【问题描述】:
我正在尝试从命令行合并一个合并请求 (Gitlab)。
在处理了一个虚拟存储库之后,我知道如果我有权限合并一个合并请求,我可以通过命令行直接合并它们。
我首先在本地系统中克隆上游存储库。之后,我在我的分叉存储库中进行了更改,并为此创建了一个合并请求。
在使用这种方法手动尝试从命令行合并请求时,我得到了一个额外的提交,即 merge commit(--no-ff)。
git fetch <Fork_Repo_URL> <Fork_Repo_Branch>
git checkout -b <Branch_Name> FETCH_HEAD
git fetch origin
git checkout origin/master
git merge --no-ff <Remote_Name>-<Branch_Name>
git push origin master
注意:以上命令是从克隆的上游存储库中使用的。
现在,我想在不克隆上游存储库的情况下做同样的事情,而是只需将上游远程添加到我的分叉存储库。
我按照 gitlab 文档中提到的所有步骤手动合并请求,但令我惊讶的是,我看不到任何合并提交,尽管合并请求在使用这些命令后被合并。
git remote add central <Central_Repo_URL>
git fetch origin master
git checkout -b my_master FETCH_HEAD
git fetch central
git checkout central/master
git merge --no-ff my_master-master
git push central master
那么,有没有办法通过在分叉存储库中配置远程来合并合并请求(我有权限),并生成合并提交?
我也试过这种方法。
git fetch central
git checkout central/master
git merge --no-ff origin/master
git push central master
我也尝试过 commit amend、rebase。
【问题讨论】:
-
我不确定,但我认为这与您之前的问题相同:stackoverflow.com/questions/58889904/…
-
对不起,但在上一个问题中,我讲述了上游回购的起源。我也想改变上一个问题,但有点不同
-
如果我得到这个答案,我会删除之前的
-
没有问题 :) 顺便说一句,我正试图在另一个问题/线程中帮助你;)
-
查看我对您上一个问题的详细回答。
标签: git powershell merge gitlab command-line-interface