如何通过"hunk"合并Git中的分支

aso*_*erg 6 git github

这是场景.我在"master"分支上创建了一个"dev"分支,并做了一些新的提交.其中一些更改仅与我的本地开发计算机相关.例如,我将URL变量更改为指向本地apache服务器,而不是在线发布的真实URL(我在测试阶段为此提高了速度).现在我想将我的更改从dev分支合并到master分支中,但不是那些只在我的本地环境中有意义的更改.

我设想了类似merge -patch的东西,它允许我选择我想要逐行合并的更改.

或者也许我可以检查"主"分支,但将文件保存在我的工作目录中,因为它们在"dev"分支中,然后执行git add --patch.那会有用吗?

bla*_*lah 6

一种方法是合并来自其他分支的更改,但在提交合并之前删除特定于开发的内容.

首先,获取更改,而不是提交更改git merge --no-ff --no-commit dev.

通过编辑受影响的文件和受影响的文件git add,或git reset HEAD受影响的文件,然后编辑git add --patch所需的部分,删除特定于开发的更改.

然后提交合并.进行合并提交的一个优点是未来的合并将是无痛的.因为特定于开发的提交被认为是合并的,所以未来涉及特定于开发的部分的合并可以通过简单的方式完成git merge dev.通过这种方式,您可以无限期地维护具有自己配置的单独分支,同时仍可轻松地将更改合并到主分支中.


pio*_*oto 3

也许你可以尝试这样的事情?

git merge --squash --no-commit $YOUR_OTHER_BRANCH
git reset HEAD
git add -p
git commit
Run Code Online (Sandbox Code Playgroud)