【问题标题】:Reduce git subtree commit log noise减少 git subtree 提交日志噪音
【发布时间】:2014-05-22 23:19:15
【问题描述】:

我使用 Yeoman 来部署我的 Web 应用程序。根据the Yeoman docs 的建议,我使用git subtree 部署我的站点,执行如下操作:

  1. grunt build
  2. git add -A dist
  3. git commit -m "New release"
  4. git subtree push --prefix dist origin deploy

然后,在登台服务器上,我第一次这样做:

  1. git init
  2. git remote add -t deploy -f origin git@github.com:cdmckay/example.git
  3. git checkout deploy

然后,每次之后我都会这样做:

git pull

但是,这会导致一些我不喜欢的事情。

首先,我的master 分支现在有dist 文件夹,我认为这很丑。

其次,我的 git 历史记录充满了 New release 消息,因为每次我想将 Yeoman 应用程序推送到我的登台服务器时,我都必须再次提交。

有没有更好的方法来设置我的部署,以便我可以将 dist 文件夹保留在 master 分支之外并摆脱部署提交消息?

【问题讨论】:

    标签: git github yeoman git-subtree


    【解决方案1】:

    pull 是否需要进行内容合并,还是完全替换就足够了?

    完全替换是,build

    git tag -f dist `git commit-tree -m - master:dist`
    git push -f origin dist
    

    在登台服务器上:

    git checkout -f dist  # possibly with `-f`
    

    git 不会将 HEAD 附加到标签上,而且这个标签是无历史提交的,所以没有什么不同步的,这是一个带有一次性标签名称的原始内容推送。

    【讨论】:

    • 它将永远是一个完整的替代品......但我开始认为使用 git 进行部署可能不是最合适的?
    • 是的。你会在这里找到很多关于“git 不是部署服务器”的回复,但它已经过时了,因为很多人想要使用他们面前的东西,而 git 是一个 unix 工具:就像他们中的许多人一样,你可以强迫它做任何事情。尽管如此,这确实有效。
    • 编辑:等等,这不是我想的问题,I found a better way
    猜你喜欢
    • 2020-05-22
    • 2014-08-06
    • 1970-01-01
    • 1970-01-01
    • 2016-10-02
    • 2012-11-18
    • 2011-06-10
    • 2021-11-24
    • 2012-06-10
    相关资源
    最近更新 更多