Pull Request,忽略一些文件更改

Pull Request, ignore some file changes

当我在 GitHub 上(针对 master 分支)执行 Pull Request 时,我们可以忽略一些文件更改,比如

您不能有选择地忽略拉取请求中的某些文件。 两个解决方法可以是 -

第一-

  • 从 'release'
  • 创建一个新分支
  • 替换 'master'
  • 中不需要的文件
  • 从这个新分支创建拉取请求

第二个-

  • 从 'master'
  • 创建一个新分支
  • 将所需文件的更改从 'release'
  • 从这个新分支创建拉取请求

任何一种方法都可以。哪个更容易取决于要包含/排除多少文件。

使用您同意的最后一次提交创建分支:

git branch my-branch <sha>
git checkout my-branch

Select 提交您想要拉取请求 as patches:

git format-patch -10 <sha> --stdout > 0001-last-10-commits.patch

应用补丁:

git am < 0001-last-10-commits.patch

您的提交将保持原样。您可以立即 git push -u origin my-branch

中所述,无法在 Pull-Request 中排除文件,并且已提出的替代方案也有效。

但是有一个更简单的解决方案。在这里,我将 staging 作为目标,将 dev 作为源

root
|-- src
|   -- app.py
|-- .gitignore
|-- settings.py
|-- requirements.txt

比方说,我想忽略 settings.py 文件的合并

  • 首先移动到目标分支 (你要合并的分支 变化)
    git checkout staging
    
  • 然后你可以使用git checkout命令来选择你想要的文件 合并
    git checkout dev src/
    
  • 这只会合并在 src/ 文件夹

    中更改的文件

    NOTE: You can also do it selectively for each file.

  • 然后推送到远程仓库

    git push origin staging
    

但只有当要排除的文件很小时,此解决方案才有用。