我有3个修改文件(没有新文件)在拉请求的时刻。
我想从拉请求中删除其中一个文件,这样拉请求只包含对两个文件的更改,而第三个文件保持原始的、未受影响的状态。
我已经尝试了一些事情(检查文件的原始版本,等等……),但它仍然显示为一个更改的文件在PR。
有解决办法吗?
我有3个修改文件(没有新文件)在拉请求的时刻。
我想从拉请求中删除其中一个文件,这样拉请求只包含对两个文件的更改,而第三个文件保持原始的、未受影响的状态。
我已经尝试了一些事情(检查文件的原始版本,等等……),但它仍然显示为一个更改的文件在PR。
有解决办法吗?
当前回答
切换到创建拉请求的分支:
$ 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
其他回答
切换到要还原文件的分支。
这是它的命令。
只需要选择远程和分支,您的文件将被恢复到
git checkout <remote>/<branch> -- <file_path_from_project_root_folder>.
对我来说,的确如此
git checkout origin/master -- .github/workflows/ci.yml
只需在GitHub web中拉请求,然后点击更多动作(…3点图标)文件>删除文件>提交到当前分支
你可能想要修改提交,然后执行强制推送,这将用PR更新分支。
以下是我的建议:
关闭PR,这样在你做出更改之前,任何审查它的人都不会把它拉进来。 在你不想要的更改之前对提交进行软重置(如果这是最后一次提交,你可以使用git reset—Soft HEAD^,或者如果是不同的提交,你会想要用提交id替换'HEAD^') 丢弃(或撤消)您不打算更新的文件的任何更改 创建一个新的提交git commit -c ORIG_HEAD Force Push到你的分支 重新打开拉请求
现在您的分支已经更新,Pull Request将包含您的更改。
这里有一个Gits文档的链接,在撤消提交和重做下面有一个很好的例子。
对于那些更喜欢UI解决方案而不是git命令的人… 您可以从主分支(或您要合并到的任何分支)下载未修改的文件,然后将其与修改后的文件一起粘贴到您的本地文件夹,有效地将其替换为未修改的版本。然后提交更改并将其推送。
从pull请求中删除文件,但不从本地存储库中删除文件。
使用以下命令转到您创建请求的分支
Git checkout——c:\temp..... 下一个 Git checkout origin/master——c:\temp…U替换原点/主与任何其他分支。 下一个 Git提交-m c:\temp..... 下一个 Git推源
注意:文件路径没有单引号或双引号