草庐IT

最全的linux上git教程

全部标签

git - 如何在系统中没有安装git的情况下安装golang包?

我正在尝试在我的项目中使用命令goget-ugithub.com/ramya-rao-a/go-outline安装一个go包,但它不会安装。这是我遇到的错误。go:缺少Git命令。请参阅https://golang.org/s/gogetcmd包github.com/ramya-rao-a/go-outline:exec:"git":%PATH%中找不到可执行文件我在文档中查找了goget命令,它说Thegogetfetchingofsourcecodeisdonebyusingoneofthefollowingtoolsexpectedtobefoundonyoursystem:sv

git - 远程错误 : tls: access denied with go get

我不能使用goget下载k8s.io/client-go/...,但我可以下载其他的比如github.com/nsf/gocode.所以我认为我对git和go的配置是正确的。我不知道为什么会这样?有什么解决办法吗?$gitversiongitversion2.19.1.windows.1$goversiongoversiongo1.11.2windows/amd64$goenvsetGOARCH=amd64setGOBIN=setGOCACHE=C:\Users\zhongtao\AppData\Local\go-buildsetGOEXE=.exesetGOFLAGS=setGOHO

git - 从函数返回时,内存存储库消失

我在程序中使用go-git并尝试测试我的功能。为了测试一个函数,我想首先创建一个内存存储库,向其中提交一个文件,然后让我的函数使用它。因此,在我的测试中,我编写了一个帮助程序,它可以在内存文件系统中创建一个新的内存存储库(init)并将其返回。但是当我尝试在调用函数中使用repo时,我什么也没得到。这是一个重现问题的例子:packagemainimport("fmt""os""time""gopkg.in/src-d/go-billy.v4""gopkg.in/src-d/go-git.v4/config""gopkg.in/src-d/go-git.v4/plumbing/objec

go - 使用 os/exec 命令从 Windows 交叉编译到 Linux

标题基本上就是这么说的。我知道我能做到setGOOS=linuxsetGOARCH=amd64在gobuild之前在cmd中,但我正在尝试编写一个构建脚本并使用exec.Command完成所有操作。我的gobuild-oetc与exec.Command(它构建)一起工作,但是在执行以下任一命令后在测试脚本中打印GOOS时:cmd:=exec.Command("set","GOOS=linux")//ORcmd:=exec.Command("setGOOS=linux")我得到了windows。有什么想法吗?谢谢! 最佳答案 我强烈建

git - 在 dockerfile 中的 go build 命令中注入(inject)或插入多个 ENV 变量

我正在使用dockerfile来构建go代码,并且我试图在-ldflags选项中传递3个选项。其中两个标志来自ENV变量,我必须通过字符串插值或连接将它们注入(inject)-ldflags内容,但我不知道如何。目标是在main.go的两个变量中注入(inject)gitrevisionhash和当前时间戳可以通过creatingafilefromdockerfile来完成使用“echo”命令,但我想确保使用简单的变量插值/连接是不可能的ENVGIT_REVISION$(gitrev-parse--shortHEAD)ENVCOMPILATION_TIMESTAMP$(date+%Y%

go - standard_init_linux.go :207: exec user process caused "no such file or directory" while trying to statically link c libs

我无法在go中对用c编写的实用程序进行docker化和使用。我已经在没有docker的情况下在本地运行了这个程序并且它有效我尝试像这样使用gccgogobuild-compilergccgo-gccgoflags-static-libgo但我得到了同样的错误调用C函数的序言如下所示:/*#cgoamd64x86LDFLAGS:-L.-lsomelib-lsomeotherlib#include#include#include"someheader.h"*/我的docker文件如下所示:FROMgolang:1.12ASbuildWORKDIR/go/src/appCOPY..ENVGO

linux - 使用 Golang 从子进程 ID 获取父进程 ID

我想使用适用于Linux操作系统的Golang从特定子进程ID(pid)获取父进程ID(ppid)我有这段代码给出了当前进程的ppid和pid,但我想检索我指定的子进程的ppid而不是当前进程。packagemainimport("fmt""os")funcmain(){pid:=os.Getpid()parentpid:=os.Getppid()fmt.Printf("Theparentprocessidof%vis%v\n",pid,parentpid)}有没有办法像这样传递pidos.Getppid(pid)或任何其他方法来检索Golang中指定pid的ppid?

linux - AT 命令与/dev/tty* 交换

我有一个板载GPRS的设备。GPRS与第三方应用程序连接并且可以正常工作。我需要知道连接的信号强度,所以,我使用ATZ,然后是AT+CSQ命令。当我使用某些终端软件工作时,它可以工作。然后,我尝试使用https://github.com/ishuah/bifrost软如终端。它也有效。但是我怎样才能简单地与设备通信,而不是使用终端,没有重新连接或连接中止等?我简单地尝试了echoATZ>/dev/ttyX-没有答案//Thiswrites,butreadsonlyzeros(((packagemainimport("github.com/jacobsa/go-serial/serial

git - 如何为 CI 组织两个 git repos

我有一个gitrepo“core”和“project”repo,它使用“core”作为依赖项。如果我想更改“核心”模块的一些API及其在“项目”中的用法,我会在gitlab中创建两个单独的pull请求。但是我们的持续集成系统在merge“核心”之前无法测试“项目”,如果“核心”包含API更改。我想要的是“项目”测试的可能性将在“核心”的同一分支上进行。例如,如果我在“project”和“core”中创建分支“feature-42”,则“project”测试将从“core”的“feature-42”分支开始。现在我们有机会在gomodules上移动,但是很难总是在go.mod文件中指定直

linux - 在 jenkins 管道上使用容器运行 go2xunit

我正在尝试在容器内的Jenkinspipeline上运行测试。它无法找到其中一个二进制文件/bin/sh:第2行:go2xunit:找不到命令jenkins测试阶段的片段:stage('Tests'){steps{//NOTE:youmustinclude'||:'soafailedtestdoesnotpreventthe//junitXMLcollectionfromrunning;anyfailedtestsintheXMLwill//markthebuildasUNSTABLEandindicatefailedtestsinGHEandjenkinssh'make-fMakef