求教 V2 大佬们一个 git 的问题

2019-02-04 00:29:50 +08:00
 starrycat

从 GitHub 克隆下来,然后就切到 dev 分支工作,push 后切 master 分支 merge,然后 push 就这样了。。

2516 次点击
所在节点    问与答
8 条回复
ysc3839
2019-02-04 00:45:37 +08:00
starrycat
2019-02-04 01:07:18 +08:00
@ysc3839 啊,感谢回复,,我的疑问是主要是 merge 和 master push 那,我记得 push 好像有很多东西的,而且 merge 的-m 被忽略了,我记得我没改过任何设置啊。
ayase252
2019-02-04 01:22:34 +08:00
git 通过 fast forward merge 了你的 dev,没有创建 merge commit,所以你的-m 被忽略掉了。fast forward 只是简单移动了 master 的指针,你之前 push 过一遍 dev 分支,自然在 push merge 后的 master 的时候不用上传任何东西了。
msg7086
2019-02-04 03:17:34 +08:00
这种情况基本你看一下 Log 的树形图就知道了。
第二张图里你用 Fast forward merge,就等于把 master 指针指向 dev 指针。
所以 Push 的时候 Push 的只是指针变化。

你看第二张图里写的「 no commit created 」。
eccstartup
2019-02-04 07:08:57 +08:00
我习惯来回 pull,没用过 merge
0xABCD
2019-02-04 10:06:21 +08:00
这俩分支没有分叉,直接移动 master 的指针到 dev 的指针指向的 commit 就行了,所以是 fast forward
starrycat
2019-02-04 13:57:53 +08:00
感谢楼上各位的回复,我有回去看了 git 的使用,merge 加--no-ff 可以强制加一次 commit。Fast forward merge 和 Auto-merging 有什么区别吗,感觉我不会用 git 了。
![snipaste20190204_135003.png]( https://i.loli.net/2019/02/04/5c57d3fa20a8c.png)

@ayase252
@msg7086
@0xABCD
msg7086
2019-02-04 14:08:04 +08:00
@starrycat 默认在不分叉的时候会自动做 FF。
何时 FF 何时 Merge 应该看你自己的习惯或者原则,而不是依赖自动。
Git 的很多自动习惯并不一定适合自己的开发习惯。

我自己的习惯是 Feature 分支一律做分支 Merge,热修复则一律放在主线上。

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

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

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

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

© 2021 V2EX