master是发布版本,hotfix是一个bug分支,在hotfix中,为了测试而修改了文件a,而后修改了文件b解决了bug,现在要把文件b合并回master,但是不要合并文件a,该怎么做?

2012 年 10 月 17 日
 goofansu
4220 次点击
所在节点    git
12 条回复
yyfearth
2012 年 10 月 17 日
用patch? 我也不是很清楚,我自己就是这么做的。
goofansu
2012 年 10 月 17 日
@yyfearth 不太清楚
我现在是:
在hotfix分支
git add . (把a和b加入stage)
git commit b (提交b,不提交a)
git stash (暂存)
git checkout master
git merge hotfix

这样好像是行的,但是总觉得哪里不对。
timonwong
2012 年 10 月 17 日
bearice
2012 年 10 月 17 日
cherry-pick 只合并你需要的commit
laihj
2012 年 10 月 17 日
http://git-scm.com/book/zh/ch2-4.html

放弃a文件的修改就行了
avatasia
2012 年 10 月 17 日
peizh2006
2012 年 10 月 17 日
commit之前只git add b,a文件checkout掉。
goofansu
2012 年 10 月 17 日
多谢大家,我一个个看
jjgod
2012 年 10 月 18 日
这位同学还是看看基本的 git 教程,了解什么叫做 add 再说。
rrrrutdk
2012 年 10 月 18 日
"为测试而修改a"

如果是你自己调试,那你就不应该提交a到服务器上。
如果是测试部门测试,那你应该新建一个分支,再在上面修改a。

现在的话,你可以git revert掉修改a的那个再合并。
Mooooon
2012 年 10 月 18 日
@bearice cherry-pick +1,其实理解了git是保存的修改文件副本就很容易操作了。
anyforever
2012 年 10 月 18 日
修改A的操作,应该在Dev分支来干,bugfix分支只用来改bug
建议你看一下这篇: http://weibo.com/1670385350/yCc7Ohyfg

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/50223

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX