如何在 intelliJ Idea (2018.3) 中审查 git pull 请求并在批准或拒绝之前检查编译时间、测试运行影响和其他 IDE 功能?
我已将GitHub 存储库A浅克隆(分叉)到我自己的存储库B中。因此,B 没有提交历史记录。但是,存储库 A 中有一个未合并(打开)的拉取请求X,我想将其添加到 B,并且仍然将其显示为正确的合并拉取请求,但没有添加额外的分支和添加的提交历史记录。(X 基于分支Z上的存储库C中的特定提交Y。)
如何使用 CLI 中的 git 执行此操作?
考虑到合并拉取请求(来自 A)和选择提交看起来是等价的,我想应该有几种不同的方法来完成相同的任务。
我看过许多类似的问题,但它们并没有完全解决问题,因为它们通常涉及首先以各种方式获取所有提交,或者不完整。我看过:
我实际上对 git 很有经验,但这种奇怪的现象让我感到困惑。
我们有一个受保护的主分支。每次我想添加代码时,我都会从 master 中提取最新的代码,然后基于该代码创建一个新的本地分支。提交我的更改,将它们推送到我的新分支中,然后向 master 提交 PR。
标准的东西。
我在这个特定的存储库中注意到的一件事是,我的分支中得到了越来越多的“更改”,它们只是几天前的合并。
例如,我最新的 PR 有:
Merge branch 'master' of github.com:xxxx/xxxx into master
总共8次,其中最早的一次是11天。在所有这些合并之前,我的一个旧提交已经合并到 master 中,并且我每次创建 PR 时都会看到这个提交。最后是我在分支中添加的单个提交。
当查看更改的文件时,只包含我在分支中实际更改的文件,因此合并我的 PR 完全无害。这很奇怪而且很烦人。
另外,在本地,如果我删除已合并的分支,我会收到警告“包含未合并到 master 中的提交”,尽管实际上并非如此。
每次我创建一个新的 PR 时,旧的提交都是日志中的第一件事,所以我想知道是否有什么问题。
有任何想法吗?即将对我的存储库进行核攻击并重新克隆。
好的,我有一个可能独特的情况
我有两个存储库,位于不同的组织中(B 不是 A 的分支,而是克隆),但都在 GitHub 上。一个是我的管理员 (B),另一个我是仅具有读取访问权限的协作者 (A)。
需要明确的是,我不是两者的所有者,所以我不能删除和分叉。
我需要从存储库 B 向存储库 A 提交拉取请求。这可能吗?如果是这样,怎么办!
在 Azure DevOps Server 中完成从功能分支到主分支的拉取请求后,我想修改受保护的主分支中的一些文件。
\n\n需要重命名一个文件,需要创建另一个文件,第三个文件中有一个要替换的字符串。
\n\n这可以通过服务器端 git hooks 或 Azure Pipeline 或任务实现吗(抱歉,我是这个主题的新手)。
\n\n更新
\n\n钩子或管道应执行以下操作:
\n\n我已经创建了一个基础存储库并向我的朋友发送了成为我的项目合作者的请求。他分叉了我的存储库并在那里做了一些更改。然后他为我创建了一个拉取请求来合并他所做的更改。但与此同时,他还可以选择在未经我许可的情况下将更改合并到基本存储库(即我的存储库)。我怎样才能限制它?我的意思是如何只能合并请求而不是我的所有团队成员。
实际上,我已经在一台电脑上尝试过,我在浏览器上打开了主帐户,在隐身选项卡上打开了另一个帐户。并创建了从我的另一个帐户到主帐户的拉取请求,但在我的另一个帐户中,我可以选择将更改合并到我的主帐户的基本存储库,当我这样做时,更改也会反映到我的主帐户 GitHub 存储库。
帮我修一下。如果我在某个地方错了,请告诉我我的朋友只能创建拉取请求的过程,我会在检查后合并它们。
在 Azure DevOps 中,我尝试添加用户作为 PR 上所需的审阅者,但我收到以下消息:
审阅者“reviewer_name”无权查看此拉取请求
我可以看到他们是贡献者,并且具有与我相同的存储库权限
我可以检查什么来确保他们设置了正确的权限?
我收到了一个拉取请求,我想通过命令行批准它(即,不使用浏览器登录 Github 并使用 GUI)。此 PR 对分支进行更改。
这是我尝试过的:
# First I go to the correct branch:
git checkout branch-to-be-modified
# Then I pull the changes made by the person who's contributing with the PR:
git pull https://github.com/my-contributor/code.git his-branch
# I then run `git status`, but it shows me nothing
git status
# Outputs:
# > On branch branch-to-be-modified
# > nothing to commit, working tree clean
Run Code Online (Sandbox Code Playgroud)
如何通过命令行接受 Github 拉取请求?
我还需要做什么,我应该做吗git push origin branch-to-be-modified?
这应该很容易,但我找不到此信息。非常感谢您提供任何线索
这是一个很大的拉取请求。大型拉取请求只能通过单独加载文件来查看。
我不在乎加载是否需要一分钟,但我强烈希望立即看到所有更改,而不必使用笨拙的替代品,例如在文件树中导航或使用下一个/上一个按钮。
对于 BitBucket 的 PR 屏幕的早期版本,可以使用 Refined BitBucket 插件,但遗憾的是,对于新的“改进的”PR 屏幕,似乎不再支持此功能。
我有一个有效的拉取请求,该请求通过了所有必需的 Github Actions 检查,并已得到存储库所有者的批准。问题是只通过了审批,没有合并。这实际上不是我第一次看到这种情况发生,所以我很好奇。PR 批准后是否有理由等待合并?或者具有写入权限的所有者/审阅者只是忘记合并它?
更新:
该分支最终被合并。是否有特殊原因不立即这样做?
pull-request ×10
git ×6
github ×5
azure-devops ×2
bitbucket ×2
command-line ×1
githooks ×1
intellij-13 ×1
merge ×1
tfs ×1