小编del*_*los的帖子

git:更新被拒绝,因为遥控器包含您本地没有的工作

我正在与一些开发人员合作,在BitBucket上使用git.我们都在dev分支机构工作,而不是master直到发布.

其中一个开发人员提交了错误的代码,意外地覆盖了我自己的代码,现在我正在尝试将正确的代码推回到repo.我已经阅读了这个错误几天了,我不能再推送回购,因为我收到以下错误:

 ! [rejected]        master -> dev (fetch first)
error: failed to push some refs to 'https://myusername@bitbucket.org/repo_user/repo_name.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
Run Code Online (Sandbox Code Playgroud)

我遵循说明 …

git version-control merge commit bitbucket

68
推荐指数
12
解决办法
14万
查看次数

Golang mgo json字符串名称一致性

假设我们有一个像这样的Go结构

type Person struct {
    Name string `json:"name" bson:"name"`
}
Run Code Online (Sandbox Code Playgroud)

每当我想为这个人搜索一个字段时,在Mongo模块中mgo,我会做类似的事情userCollection.Find(bson.M{"name" : "John"})

我想知道的是,有没有办法Find像上面那样调用,但我不需要输入我正在寻找的字符串字段("name"在这种情况下).我想避免这种情况,因为如果我更改结构中的bson字段名称,我将不得不梳理代码库并在任何地方进行更改.

除了为每个struct的字段提供全局常量之外,有没有办法mgo使用struct自己的字段调用?

例如,可以调用的东西userCollection.Find(bson.M{Person.Name : "John"}),它将自动Person.Name在结构中找到字段("name"在这种情况下)并执行查询.

go mongodb mgo

5
推荐指数
0
解决办法
748
查看次数

未检测到 Vault 令牌助手?

问题:

我的 docker 镜像中有三个文件,vault:0.10.2位于以下位置:

/home/myuser/token_helper:Go 中的令牌助手二进制文件,根据本文档实现令牌助手接口

/home/myuser/vault_startos.exec("vault", "operator", "init"):运行的Go 脚本os.exec("vault", "server", "-config=myconfig.hcl")

/home/myuser/.vault:令牌帮助程序配置文件指定令牌帮助程序二进制位置,我已导出VAULT_CONFIG_PATH以指向此路径。文件内容如下token_helper = "/home/myuser/token_helper"

我看到的问题是在运行vault_start脚本时出现以下错误:

failed to get token helper: error expanding config path "": exec: "getent": executable file not found in $PATH
Run Code Online (Sandbox Code Playgroud)

到目前为止已完成的调试

这个错误似乎不正确。which getent返回/usr/bin/getent,并且图像$PATH包含它,证明两者都存在。另外,配置路径不是"",它被设置为/home/myuser/.vault但 Vault 显然将其检测为空。

我已将该错误输出跟踪到Vault 目录中的此文件command: 。$HOME根据该代码块,只有在未设置时才会出错,但我已经确认已$HOME在 shell 中设置了该值。

此外,我已经指定了 Vault 所要求的所有内容,以便根据本文档 …

go devops alpine-linux hashicorp-vault

5
推荐指数
1
解决办法
2979
查看次数

直接shell输入为C程序参数

假设我有一个C程序,其函数声明是void square(int n)(它也定义了)所有它printf的平方值n.我希望能够像这样从bash shell运行它:square 5其中5是C程序的输入.

我该怎么做?我已经开始使用了getopt,read我已经多次阅读了这些手册页并观看了一些getopt教程,但我似乎无法找到一种方法来做到这一点.我找不到一个例子,getopt在示例中没有使用标志,所以我不知道如何将它应用于简单的整数输入.任何人都可以与我分享如何做到这一点?我真的很感激.

c bash shell stdin

1
推荐指数
1
解决办法
162
查看次数

Golang:为什么response.Get("headerkey")在这段代码中没有返回值?

在过去的几个小时里,这一直困扰着我,我正在尝试获得响应标头值.简单的东西.如果我curl向这个正在运行的服务器发出请求,我会看到带有curl -v标志的标头集,但是当我尝试使用Go's检索标头时response.Header.Get(),它会显示一个空白字符串"",标题长度为0.

让我更沮丧的是,当我打印出身体时,标题值实际上是在响应中设置的(如下所示).

任何和所有的帮助,这是感谢,提前感谢.

我在这里有这个代码:http: //play.golang.org/p/JaYTfVoDsq

其中包含以下内容:

package main

import (
    "fmt"
    "io/ioutil"
    "net/http"
    "net/http/httptest"
)

func main() {
    mux := http.NewServeMux()
    server := httptest.NewServer(mux)
    defer server.Close()

    mux.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
        r.Header.Set("Authorization", "responseAuthVal")
        fmt.Fprintln(w, r.Header)
    })

    req, _ := http.NewRequest("GET", server.URL, nil)
    res, _:= http.DefaultClient.Do(req)

    headerVal := res.Header.Get("Authorization")

    fmt.Printf("auth header=%s, with length=%d\n", headerVal, len(headerVal))
    content, _ := ioutil.ReadAll(res.Body)

    fmt.Printf("res.Body=%s", content)
    res.Body.Close()
}
Run Code Online (Sandbox Code Playgroud)

此运行代码的输出是:

auth header=, with length=0
res.Body=map[Authorization:[responseAuthVal] User-Agent:[Go-http-client/1.1] …
Run Code Online (Sandbox Code Playgroud)

curl header http go

0
推荐指数
1
解决办法
506
查看次数

标签 统计

go ×3

alpine-linux ×1

bash ×1

bitbucket ×1

c ×1

commit ×1

curl ×1

devops ×1

git ×1

hashicorp-vault ×1

header ×1

http ×1

merge ×1

mgo ×1

mongodb ×1

shell ×1

stdin ×1

version-control ×1