18

我打开了一个拉取请求,其中有一些project.lock.json我不想在将分支合并到主分支时合并的文件。有没有办法project.lock.json从我的拉取请求中删除那些文件?

4

7 回答 7

13

请让我知道是否有更好的方法来做到这一点。这是我找到的解决方法。

列出远程分支

git branch -va

结帐 PR 分支

git checkout origin pr_branch

用 other_branch 的文件覆盖 pr_branch 的文件

git checkout other_branch -- ./path/to/file

提交更改

git commit -m "overwrite with other_branch's"

推动你的改变

git push origin pr_branch
于 2017-02-23T02:24:22.607 回答
2

您需要删除文件、提交更改并下一次推送到您的分支。

如果你想在你的分支中保留文件,但不想将它合并到主分支,你可以在一次提交中删除它,然后在另一个提交中再次添加。Git 允许您使用 git-cherry-pick 手动接受某些提交。您可以接受每个提交,除了您再次添加此文件的提交。

于 2016-04-21T08:04:43.767 回答
2

我认为您可以简单地用原始文件覆盖您的 project.lock.json 并提交。

于 2016-04-24T12:26:34.177 回答
0

如果他们已经承诺,我想不出简单的方法。可能最简单的方法和一种解决方法是将它们移出项目文件夹,将它们从您的 git 工作副本中删除,重新提交,以便您的分支中没有 JSON 文件。然后,当您合并您的 JSON 文件时,将不会通过。

于 2016-04-21T07:59:33.013 回答
0

您可以签出 master 并拉取,然后针对 master 和 rebase master 重新设置分支,以确保您仅从 PR 中删除了它,而不是从 repo 中删除它,因此当您合并到 master 时,它不会删除这些文件,而只会从您的 PR 中删除.

git checkout master
git pull
git checkout <your-branch>
git rebase master
git push
于 2017-09-22T18:24:57.237 回答
0

首先,找出影响该文件的特定提交。然后下面的两个命令应该恢复对该文件的提交。

git revert <commit>
git push origin <branch name>
于 2019-02-25T16:14:24.473 回答
0
  • 从原始存储库复制文件。并覆盖分支存储库中的文件。
  • 做出承诺。
  • 转到拉取请求的“文件已更改”页面,将有一个刷新选项。或者手动刷新页面。
于 2020-03-10T15:40:07.233 回答