我有3个修改文件(没有新文件)在拉请求的时刻。
我想从拉请求中删除其中一个文件,这样拉请求只包含对两个文件的更改,而第三个文件保持原始的、未受影响的状态。
我已经尝试了一些事情(检查文件的原始版本,等等……),但它仍然显示为一个更改的文件在PR。
有解决办法吗?
我有3个修改文件(没有新文件)在拉请求的时刻。
我想从拉请求中删除其中一个文件,这样拉请求只包含对两个文件的更改,而第三个文件保持原始的、未受影响的状态。
我已经尝试了一些事情(检查文件的原始版本,等等……),但它仍然显示为一个更改的文件在PR。
有解决办法吗?
当前回答
pull请求就是将一个分支合并到另一个分支的请求。
你的pull请求不“包含”任何东西,它只是一个标记说“请将这个分支合并到那个分支”。
PR在web UI中显示的变化集只是目标分支和你的特性分支之间的变化。要修改你的pull请求,你必须修改你的特征分支,可能需要用力推到特征分支。
在您的情况下,您可能需要修改提交。不确定您的确切情况,但一些交互式rebase和add -p的组合应该会帮您解决问题。
其他回答
切换到创建拉请求的分支:
$ git checkout pull-request-branch
用另一个分支中的文件覆盖修改后的文件,让我们考虑它是master:
git checkout origin/master -- src/main/java/HelloWorld.java
提交并推送到远程:
git commit -m "Removed a modified file from pull request"
git push origin pull-request-branch
只需在GitHub web中拉请求,然后点击更多动作(…3点图标)文件>删除文件>提交到当前分支
从pull请求中删除文件,但不从本地存储库中删除文件。
使用以下命令转到您创建请求的分支
Git checkout——c:\temp..... 下一个 Git checkout origin/master——c:\temp…U替换原点/主与任何其他分支。 下一个 Git提交-m c:\temp..... 下一个 Git推源
注意:文件路径没有单引号或双引号
对于刚接触git或使用Azure DevOps的人来说,这是一种简单的方法。
如果文件更改很简单,并且PR仍然打开,那么只需转到您的分支,将文件修改回最初的方式,然后提交并推送您的更改。您的PR应该更新,如果它与目标分支完全匹配,该文件将消失。
如果这是一个复杂的更改,做同样的事情,但你可能想要查看文件历史,复制以前的版本(在Windows上按Ctrl-A),覆盖你的开发分支的版本,然后提交和推送。
例如,您希望从branch1为文件file1、file2和file3创建PR。 现在您想从PR中删除file3。
Checkout your branch from which PR was created. git checkout branch1 Check commit history git log It will provide you with following details commit <some id 1> (origin/branch1, branch1) Author: abc Date: Tue Nov 2 16:47:03 2021 +0530 commit <some id 2> (origin/branch1, branch1) Author: abc1 Date: Tue Nov 1 16:47:03 2021 +0530 Look for commit id for commit made before your changes and checkout file3 with that commit id git checkout <some id 2> C:\Code\project\file3.java Then do git commit git add file3.java git commit -m "Removing file3 from PR" git push Check your PR, file3 should be removed now.