gpt4 book ai didi

git - 如何在git中 merge 特定文件

转载 作者:太空狗 更新时间:2023-10-29 12:46:10 24 4
gpt4 key购买 nike

假设我在 MASTER 分支上有一个项目,其中包含 100 个 php 文件。为了在项目中修复错误,我创建了一个单独的分支

git checkout -b bugfix

然后在修复了 3 个文件(例如 index.php、register.php 和 login.php)中的错误后,我将其 merge 到 master 分支

git checkout master
git merge bugfix

上面的代码将 merge 我所做更改的所有 3 个文件,但是我是否可以强制 GIT 仅 merge 2 个文件,比如 login.php 和 register.php?

最佳答案

有两种方法:


方法01

以下方案采用自a blog post

事实证明, checkout 在这件事上也很有帮助。您可以简单地从另一个分支中调出( checkout )那些特定文件:

# switch to the branch you want to be your merge destination
git checkout master

# checkout specific files from specific branch (e.g bugfix)
# format: git checkout <source branch> <file.1> <file.2> ... <file.N>
git checkout bugfix login.php register.php

# check the status
git status

# merge them in
git commit -m "your merge comment"

方法02

这是一种简单的替代方法,但它仅在每个文件有一个提交时才有效(意味着每次更改文件时,您都进行了一次提交,然后移至下一个文件)。在这种情况下,您可以简单地将这些特定提交带到另一个分支(在您的情况下是 master 分支):

# get which commit you want to take to the other branch (first 7 characters will do)
git log

# switch to the branch you want to be your merge destination
git checkout master

# bring specific commit to this branch (replace the 63344f2 with your own 7 character commit ID)
git cherry-pick 63344f2

关于git - 如何在git中 merge 特定文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16979201/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com