我的用例是:我有一个包含子模块的 repo 的两个分支。我想设置这两个分支的自动集成。但是每当两个分支上都有子模块更新时,我的自动集成脚本就会因子模块冲突而失败。有没有办法让 git 在合并期间忽略子模块指针的变化?或者为merge=ours给定的子模块提供类似的东西?
我在上面的页面中尝试了像这样的子模块文件夹的合并策略(但它只适用于文件)
submodule-name merge=ours
Run Code Online (Sandbox Code Playgroud) 我在golang中有一个设置,它基本上从操作系统获得一个自由端口,然后在它上面启动一个http服务器.它开始出现端口注册失败的随机错误.我把它简化为以下程序,在抓住一些空闲端口后似乎出错了.它发生得非常随机,并且没有真正的进程在端口上运行它出错.对我来说,为什么这有误差是没有意义的.任何帮助,将不胜感激.
计划的输出:
..
..
58479
..
..
58867
58868
58869
..
必然好!58867
很好!58868
很好!58869
..
..
..
2015年4月28日9时05分09秒出错绑定端口:已使用的地址:听TCP:58479:绑定
我确保检查出来的自由端口从未重复过.
package main
import (
"net"
"net/http"
"log"
"fmt"
)
func main() {
for {
l, _ := net.Listen("tcp", ":0")
var port = l.Addr().String()[5:]
l.Close()
fmt.Println(port)
go func() {
l1, err := net.Listen("tcp", ":"+port)
if (err != nil) {
log.Fatal("Error while binding port: ", err.Error())
} else {
fmt.Println("bound well! ", port)
}
http.Serve(l1, nil)
}()
}
}
Run Code Online (Sandbox Code Playgroud) 我的二进制文件采用端口参数并启动 http 服务器。如果将 0 传递给 -port,它将找到一个空闲端口并在其上启动。
之后,如果我有命令对象并且可以获取进程ID,我如何找到这是哪个端口?我正在尝试用 golang 编写我的应用程序。我也很好奇这通常是如何完成的。