git合并部分文件到另外一个分支

本文介绍了一种使用Git进行分支合并时排除特定文件的方法。通过使用`git merge`、`git reset --soft`、`git reset`等命令组合,可以在合并分支的同时避免不需要的文件被一并提交。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文章背景

再使用git的路上你可能会遇到,git合并部分文件到另一个分支的需求。之前我就遇到了,我的master分支是只提交部分文件的,但是我有一个新分支存放了全部文件。这就产生了问题,但是当我切换分支后,忘记换回master分支。切会master分支的话,工作区的新文件又会消失。因此我google了近一个小时。。。结果全是使用checkout强制覆盖文件的。要不就是直接合并的。。。现在想起来,可能别人觉得合并就完事了吧。之后都很简单

 

解决方法

经过一个小时的奋斗,我选择死亡,死马当活马医,尝试网上没有的答案。

 

不想提交的文件较少时

首先:合并新分支到当前分支

git merge 新分支

然后我使用git log查看了一下,一个新的提交。接着我清除commit的内容,把所有commit的东西推到暂存区。

git reset --soft

之后我使用git status,发现合并的文件确实已经在暂存区了。瞬间觉得成就感爆棚

最后我使用

git reset  文件名

清除掉不需要的文件。

然后直接提交

git commit -m "xxx"

舒服,完成。

之后顿时感觉自己傻吊,干嘛google那么久,git不是自带版本回退么,我怕个吊直接试啊,浪费了太多时间orz。

 

不想提交的文件太多时

如果你不想提交的文件很多,还有另一种方法就是,直接

git reset HEAD^

把commit跟暂存区的东西撤掉。但是工作区的东西还在

然后跟平常一样直接加入后提交

git add 你的文件
git commit -m "xxxx"

 

如果需要修改工作区内容

其实这样并不完整,因为你的工作区的文件还是改变了。如果你有需要,这个就请直接git reset --hard吧,这个命令会修改工作区的文件,所有很危险慎用哦,不过如果你确定没问题,那就使用吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值