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

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

这样好像是行的,但是总觉得哪里不对。
timonwong
2012-10-17 18:02:28 +08:00
bearice
2012-10-17 18:03:04 +08:00
cherry-pick 只合并你需要的commit
laihj
2012-10-17 18:03:34 +08:00
http://git-scm.com/book/zh/ch2-4.html

放弃a文件的修改就行了
avatasia
2012-10-17 18:11:25 +08:00
peizh2006
2012-10-17 18:12:27 +08:00
commit之前只git add b,a文件checkout掉。
goofansu
2012-10-17 18:38:11 +08:00
多谢大家,我一个个看
jjgod
2012-10-18 01:23:11 +08:00
这位同学还是看看基本的 git 教程,了解什么叫做 add 再说。
rrrrutdk
2012-10-18 09:19:26 +08:00
"为测试而修改a"

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

现在的话,你可以git revert掉修改a的那个再合并。
Mooooon
2012-10-18 09:32:17 +08:00
@bearice cherry-pick +1,其实理解了git是保存的修改文件副本就很容易操作了。
anyforever
2012-10-18 21:37:23 +08:00
修改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