如何使用go-get获取嵌套的项目结构

I have a github structure like :

group_name/Project_dir/Project_subdir which looks like this git@github.com:group_name/project_dir/subdir.git on github . I'm trying to use go-get to get the project but it treats go get github.com/group_name/project_dir/subdir like group_name/project_dir.git and fails.

I have done go get github.com/group_name/project_dir/subdir.git but it pulls the code to subdir.git folder.

Is there any other way to get this code in subdir folder apart from manually doing mv subdir.get subdir ?

读取项目的go.sum文件,遍历每一行,然后执行go get,参考:

func main() {
    sumContent, err := ioutil.ReadFile("go.sum")
    if err != nil {
        fmt.Println(fmt.Sprintf("read go.sum failed,got :%s", err.Error()))
    }
    scanner := bufio.NewScanner(bytes.NewReader(sumContent))
    for scanner.Scan() {
        line := scanner.Text()
        parts := strings.Fields(line)
        pkg := parts[0]
        version := parts[1]
        // 对version做处理
        if strings.Contains(version, "/go.mod") {
            version = strings.Replace(version, "/go.mod", "", -1)
        }
        target := fmt.Sprintf("%s@%s", pkg, version)
        fmt.Println(fmt.Sprintf("go get -insecure %v", target))
        envCmd := cmd.NewCmd("go", "get", "-v", "-u", "-insecure", target)
        gms := <-envCmd.Start()
        for _, gm := range gms.Stderr {
            fmt.Println(gm)
        }
    }
}