cha0s
V2EX  ›  问与答

请教大神 git push merge 问题

  •  
  •   cha0s · Jan 7, 2015 · 3910 views
    This topic created in 4328 days ago, the information mentioned may be changed or developed.
    问题是这样的:我在github上建立了一个仓库,默认是master分支,clone到本地后新建了一个dev分支进行开发。通过merge --no-ff合并到本地master。如果我这时push的话,github服务器上就会有本地dev分支的commit信息。有没有什么办法可以只push master分支而不带有本地dev的commit信息?
    thanks!
    5 replies  •  2015-01-07 20:04:42 +08:00
    csslayer
    csslayer
    Jan 7, 2015❤️1
    1
    git push origin master

    push 本地的 master 到服务器的 master 上。不会在服务器上创建 dev 分支。

    dev 分支分离后产生的 commit 当然会push到服务器上,因为那已经是你从根到 master 提交历史的一部分。如果你想抛弃这些 commit 但是保持修改的内容就不应该用 merge,直接apply diff 然后重新 commit 即可。
    zhangxiao
    zhangxiao
    Jan 7, 2015 via Android❤️1
    2
    merge --squash
    cha0s
    cha0s
    OP
    Jan 7, 2015
    3
    @csslayer
    @zhangxiao 非常感谢,merge --squash正是我想要的!之前是通过rebase操作,很不优雅:P
    zhangxiao
    zhangxiao
    Jan 7, 2015
    4
    @cha0s 其实也看实际情况了。我自己很少用squash,一般只squash那种比较脏的branch。如果commits都比较合理和仔细,感觉还是把commit history留在master里比较好
    cha0s
    cha0s
    OP
    Jan 7, 2015
    5
    @zhangxiao 对,需求场景主要是本地commit会有一些与部署有关的信息在里边,不能公开到网上。所以push到github的时候要避免那些commit。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2103 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 11:23 · PVG 19:23 · LAX 03:23 · JFK 06:23
    ♥ Do have faith in what you're doing.