【问题标题】:grgit: Adding a tag and pushing files to remote branch in build.gradle scriptgrgit:在 build.gradle 脚本中添加标签并将文件推送到远程分支
【发布时间】:2019-03-29 13:38:16
【问题描述】:

我正在尝试使用 grgit 添加一个 git 标签,提交并将文件推送到远程分支。这是我想要做的:

//Task to push updated build.info to remote branch
task pushToOrigin {
  doLast {
    def grgit = Grgit.open(dir: ".")

    grgit.add(patterns: ['web/build.info'])

    grgit.tag.add(
          name: "Tag3",
          message: "Release of 3-${grgit.head()}",
          force: true
    )

    grgit.commit(message: "Updating build.info")

    //push to remote
    grgit.push(remote:"${branch}", tags: true)
    //grgit.push(remote:"${branch}")

    //cleanup
    grgit.close()
  }

  println "Completed task: pushToOrigin" 
}

我注意到grgit.push(remote:"${branch}", tags: true) 添加了标签并将标签推送到远程,但没有推送我的暂存文件更改。

但是,grgit.push(remote:"${branch}") 推送暂存的文件更改但不推送标签。

我正在使用 Gradle 5.3,grgit 版本 2.3.0

我是否需要做任何其他事情才能使两者都能正常工作?

谢谢。

【问题讨论】:

    标签: git gradle build build.gradle


    【解决方案1】:

    我找到了解决上述问题的方法。这是我所做的:

    task pushToOrigin {
      doLast {
            def grgit = Grgit.open(dir: ".")
    
    
            grgit.add(patterns: ['web/build.info'])
    
    
            grgit.commit(message: "Updating build.info")
    
            //Push to remote
            grgit.push(remote:"${branch}")
    
            //Tag
            tagName = "tag1"
    
            grgit.tag.add(
                  name: tagName,
                  message: "Release of ${tagName}"
            )
    
            //Push
            grgit.push(remote:"${branch}", refsOrSpecs: [tagName])
    
            //cleanup
            grgit.close()
    
        }
    }
    

    【讨论】:

    • 注意:tagName 是在 pushToOrigin 任务范围之外声明的全局变量
    猜你喜欢
    • 1970-01-01
    • 2016-10-25
    • 2019-11-21
    • 1970-01-01
    • 2015-11-22
    • 2018-12-22
    • 1970-01-01
    • 2017-07-12
    • 2012-07-30
    相关资源
    最近更新 更多