我错误地将现有文件的本地更改添加到了我的PR中.我想仅还原此文件而不在本地删除此文件.我只是希望它不会出现在Pull Request中.我不想创建新的分支,因为很多人对此PR中的其他文件进行了评论.
Vas*_*h K 31
feature-branch
到master
。feature-branch
../abc1.py
,并且您希望abc1.py
与 master 相同。运行以下命令:
git checkout origin/master -- ./abc1.py
现在如果你运行:
git status
您将进行与您的分支相同的更改master
。现在您可以提交更改并推送。
Eug*_*ash 20
您可以"取消"特定文件,git reset
然后修改原始提交:
git reset HEAD^ /path/to/file
git commit --amend --no-edit
git push -f
Run Code Online (Sandbox Code Playgroud)
这不会影响工作副本中文件的版本.
或者,如果要删除多个文件,可以将分支头重置为上一个提交并创建一个新文件:
git reset HEAD^ # move the tip of the branch to the previous commit
git commit -C ORIG_HEAD file1 file2 [...] # list the required files
git push -f
Run Code Online (Sandbox Code Playgroud)
Jar*_*ber 19
如果您更新了已存在的文件并希望将其从PR中删除:
假设您正在处理分支staging
,并且您打了一个名为的文件validate_model.py
.
要从PR中删除此文件并还原其更改,只需执行以下操作:
git checkout staging -- validate_model.py
Mr.*_*ond 10
可能有很多方法可以删除/撤消 PR 中的文件更改。
我没有找到具体的步骤,所以这里是:
设想:
假设您要从 PR 中删除的文件是:
C:\GitRepos\MyProject\SomeFile.cs
该文件已修改或不包含任何更改(与主文件中的相同),但仍显示在您的 PR 中。
解决方案:
1)确保您已签出创建 PR 的功能分支。
2)搜索文件提交历史:
git log "C:\GitRepos\MyProject\SomeFile.cs"
您将看到格式为的多条记录:
commit <commit id>
Author: <author name>
Date: <Date of the commit>
<commit message>
Run Code Online (Sandbox Code Playgroud)
3)在对 .txt 文件进行任何更改之前找到提交SomeFile.cs
。复制commit id
.
4)使用之前复制的内容检查提交commit id
:
git checkout <commit id> "C:\GitRepos\MyProject\SomeFile.cs"
5)如果您现在检查,git status
您将看到SomeFile.cs
现在正在等待更改。
6)您需要做的最后一件事是通过简单地使用以下命令来提交这些更改:
git commit -m "Remove the SomeFile.cs from PR"
并推动你的改变。:)
git checkout - 文件名
这将放弃对文件的先前更改并将其还原为上次提交的更改.
你可以在这里了解更多Git-Basics-Undoing-Things
阅读"修改已修改文件"部分.