我最近切换到将我的存储库同步到GitHub上的https://(由于防火墙问题),并且每次都要求输入密码.过去,我有一个SSH证书,这就足够了.在我的情况下是否有办法绕过密码(使用http/https)?
$ go get在谷歌尝试之后,我正在寻找使用私有存储库的方法.
第一次尝试:
$ go get -v gitlab.com/secmask/awserver-go
Fetching https://gitlab.com/secmask/awserver-go?go-get=1
https fetch failed.
Fetching http://gitlab.com/secmask/awserver-go?go-get=1
Parsing meta tags from http://gitlab.com/secmask/awserver-go?go-get=1 (status code 200)
import "gitlab.com/secmask/awserver-go": parse http://gitlab.com/secmask/awserver-go?go-get=1: no go-import meta tags
package gitlab.com/secmask/awserver-go: unrecognized import path "gitlab.com/secmask/awserver-go
Run Code Online (Sandbox Code Playgroud)
是的,它没有看到meta标签,因为我不知道如何提供登录信息.
第二次尝试:
关注https://gist.github.com/shurcooL/6927554.将配置添加到.gitconfig.
[url "ssh://git@gitlab.com/"]
insteadOf = https://gitlab.com/
$ go get -v gitlab.com/secmask/awserver-go --> not work
$ go get -v gitlab.com/secmask/awserver-go.git --> work but I got src/gitlab.com/secmask/awserer-go.git
Run Code Online (Sandbox Code Playgroud)
是的它可以工作,但.git扩展了我的项目名称,我可以将它重命名为原始,但每次$ go get都不是那么好,是否还有其他的?
如何设置git在每次提交到本地仓库后自动推送到远程仓库(包括自动提供我的密码)?
有没有办法安全地让git在通过HTTP(S)连接到远程存储库时记住我的凭据?
我已经尝试了core.askpass详细介绍的方法git-config,让外部脚本提供我的凭据.虽然它工作得很好,但用户名和密码仍然以纯文本形式存储在小shell脚本中.
我有一个git存储库设置了几个子模块,它创建一个.gitmodules文件,它是父存储库中的跟踪文件.但是,还有其他开发人员想要在此存储库上工作,并检查子模块.但是目前远程子模块存储库的URL包含我的用户名; 在.gitmodules文件中它是这样的:
[submodule foo]
path = sub/foo
url = https://myuser@example.com/git/foo.git
Run Code Online (Sandbox Code Playgroud)
显然,其他开发人员无法从获取example.com的myuser(他们没有我的密码); 我怎样才能拥有一个多个开发人员可以拉/推的主存储库,并允许他们单独访问子模块(设置他们在子模块主机服务器上共享的单个用户名可以工作,但不是很好的用户管理) ?
在GitHub中生成个人访问令牌后,是否有必要将其存储在本地的某个位置?
如果是,是否有任何可以存储的首选方式?
目前我一直在试图从Jenkins中检索存储库的子模块.我的配置很好,我可以拉没有任何子模块的存储库就好了.
我还可以使用子模块来获取repo的主要组件(在存储库名称中都使用SSH进行身份验证).只有当我必须拉动子模块组件时才会出现问题.我正在运行最新版本的Jenkins,我在底部添加了一个用于"高级子模块行为"的部分.我在这里选择了"递归更新子模块"并多次运行构建无济于事.
当我尝试使用shell命令在底部添加额外的构建步骤时,存储库的更新也不起作用.当我在终端中的jenkins之外尝试这些命令时,这很好用.我总是在Jenkins得到的问题是:
FATAL: Command "git submodule update" returned status code 1:
stdout:
stderr: Cloning into 'thisismysubmodule'...
fatal: Authentication failed for 'https://git.thisismyrepo.com/scm/ap/thisismysubmodule.git/'
Run Code Online (Sandbox Code Playgroud)
我发现了这个问题:https://issues.jenkins-ci.org/browse/JENKINS-20941但由于安全问题,我无法在底部使用建议的解决方案.这里有没有人有这个问题的经验或可能的解决方案?
我在我的工作场所使用Git,公司政策不允许我以不安全的方式存储密码.有没有比使用git config credential.helper store存储密码到Git服务器更好的选择?
PS无法使用密钥身份验证,因为我们的服务器不允许这样做.
我曾经问过一个非常相似的问题并得到了一个从命令行起作用的响应,但我现在想用R来自动化Windows的过程(Linux更容易).
这是我正在尝试做的事情:
我相信基于输出,我在失败之前一直到第5步(因为提交和本地目录中的文件永远不会转到云中的github).我知道第2步有效,因为这里创建了空仓库.我不知道如何测试第5步.在最后一步,shell(cmd6, intern = T)RGui和RStudio导致永恒的死亡螺旋.问题是:如何将提交和本地存储推送到云端.
这是我更新的代码(用户特定的唯一内容是第三代码块中的用户名和密码):
## Create Directory
repo <- "foo5"
dir.create(repo)
project.dir <- file.path(getwd(), repo)
## Throw a READ.ME in the directory
cat("This is a test", file=file.path(project.dir, "READ.ME"))
## Github info (this will change per user)
password <-"pass"
github.user <- "trinker"
## Get git location
test <- c(file.exists("C:/Program Files (x86)/Git/bin/git.exe"),
file.exists("C:/Program Files/Git/bin/git.exe"))
gitpath <- c("C:/Program Files (x86)/Git/bin/git.exe",
"C:/Program …Run Code Online (Sandbox Code Playgroud) 相关问题: git和Git 不接受netrc - 如何在windows上使用.netrc文件保存用户和密码
我正在尝试将更改推送到code.google.com git存储库.我正在使用Git Extensions.我的HOME变量在Windows和Git Bash中都设置了.
C:\> echo %HOME%
C:\Users\Username
$ echo $HOME
/c/Users/Username
Run Code Online (Sandbox Code Playgroud)
我在%HOME%中添加了一个名为_netrc的文件
machine code.google.com
login username@gmail.com
password GOOGLEGENERATED
Run Code Online (Sandbox Code Playgroud)
显然,用户名被我的用户名取代,而GOOGLEGENERATED是谷歌生成的密码.尝试推送时,我收到此错误消息:
C:\ Program Files\Git\bin\git.exe push -u --recurse-submodules = check"origin"master:master Done fatal:remote error:用户名/密码无效.您可能需要使用生成的googlecode.com密码; 请参阅https://code.google.com/hosting/settings
相关问题表明一切设置正确,但仍然无效.有任何想法吗?
git ×10
git-push ×2
github ×2
windows ×2
access-token ×1
git-config ×1
githooks ×1
github-api ×1
go ×1
jenkins ×1
linux ×1
macos ×1
r ×1
security ×1