Articles of git

Git / svn – 保持同步两个不同的访问权限的存储库

我已经被@PatrickQuirkbuild议在这里发布这个问题… 网上有太多的资料让我了解,并能够得到我自己的图片,所以我轻轻地要求社区为我的旅程提供灯光。 我的情况: 我们公司的防火墙后面有一个SVN服务器。 不可能移动到DMZ。 我们需要一些第三方(我们的客户)从远程位置访问部分源代码,因为他们正在为开发作出贡献。 但是他们不是来自我们公司的,所以我不能提供他们的VPN访问。 我需要他们不仅能够读取源代码,还可以提交更改。 我们的SVN回购包含我们所有的产品。 我只想给我的客户端提供一些文件夹。 我的公司非常不愿意让我们购买一个私人的GitHub帐户…出于安全原因,而不是成本…我们正在尝试几个月以下,但它不工作,因为它需要手动同步: 在线租用虚拟机。 安装一个Git服务器。 提供对我们的开发者和我们的客户的访问。 做一个初步的结帐svn文件夹我想分享的数量减less。 我们都在努力:改进这些文件夹中的代码或创build新的源代码和文件夹。 我们的开发人员应该手动更新/提交这两个回购…这只是发生… 所以我正在寻找自动同步的解决scheme,但要记住访问权限… 另一个担心是,我们公司将在明年将我们所有的SVN迁移到Git …我没有期待这个问题,运行我们自己的git服务器,而不是SVN,但它将不得不被保留在防火墙之后。 然后,我迷失在“克隆”,“镜像”方面,并保持正确的访问权限… … – 你可以就这个分布式体系结构提供什么解决scheme/build议?

teamcity,使用代理服务器后面的bitbucket(git)设置vcs root

我已经在企业防火墙后面的Windows Server 2012框中安装了TeamCity,该防火墙需要通过代理服务器进行用户身份validation才能访问Internet。 我想将TeamCity连接到托pipe我们项目的Bitbucket(git),以便下拉代码并在公司networking中构build和部署。 通过SourceTree(Git Windows客户端)通过自己的Git并通过命令行工作正常。 我已经将代理设置添加到.gitconfig,它可以通过代理通过https进行连接而不会发生问题。 到现在为止还挺好。 但是当我尝试让TeamCity与bitbucket对话时,我得到一个错误: 连接失败! 列表远程引用失败:java.netConnectException:连接被拒绝:连接bitbucket.org 我查看了文档,看起来如果你想通过代理连接,你需要把凭据传递给运行TeamCity的JVM。 正如我在Windows Server 2012和TeamCity作为服务运行,这应该是通过像这样设置一个环境variables: TEAMCITY_SERVER_OPTS -Dproxyset=true -Dhttp.proxyHost=11.111.1.11 -Dhttp.proxyPort=8080 -Dhttp.proxyUser=username -Dhttp.proxyPassword=password -Dhttp.nonProxyHosts=localhost|127.0.0.1 -Dhttps.proxyHost=11.111.1.11 -Dhttps.proxyPort=8080 -Dhttps.proxyUser=username -Dhttps.proxyPassword=password -Dhttps.nonProxyHosts=localhost|127.0.0.1 我创build了一个系统级别的envvariables,并重新启动服务器,然后给我以下错误: https://bitbucket.org/teamname/example.git:407需要代理身份validation(Forefront TMG需要授权才能完成请求,拒绝访问Web代理筛选器。 所以这给了我两种可能性 防火墙阻止来自Windows服务的请求 用户名和密码没有被传递 TeamCity 文档没有提及proxyUser和proxyPassword参数,我在查看可用的JVM代理参数后自己插入它们。 我曾经问过我们的一个networking人员去看看防火墙(不是在今天),但同时如果任何人有这方面的经验,知道是否有什么我错过了。 任何帮助都感激不尽。 2016年2月16日更新 在查看JetBrains支持网站时,我发现以下内容: 嗨,我们不支持从命令行进行代理validation。 而通过只设置参数将无法正常工作。 此外,上述选项仅适用于使用TC服务器JVM执行的Java代码。 但是,我们经常使用本地客户端来访问VCS:hg,perforce和TFS。 Git和svn使用java库。 所以看来环境variables的做法是死路一条,必须看看使用Git客户端来进行连接。

当通过git进行node.js部署时,如何让Azure使用SSH密钥?

我正在使用本地机器上的git将一个node.js应用程序部署到Azure Web服务:git push azure master 我们的npm包之一是BitBucket上的一个私人回购站。 如果没有Azure使用SSH密钥克隆该回购,则部署将失败。 如何将SSH密钥添加到将在这些部署执行期间使用的Azure服务器?

使SSH服务器转发每个用户的连接

有没有办法强制OpenSSH(或创build某种types的代理)转发一个用户到一台机器和另一个用户到另一台机器只是由他(她)提供的用户名? 我遇到了以下问题:我要在Docker容器中运行GitLab,同时在主机上运行SSH服务器。 GitLab侦听SSH连接,但是它只对使用SSH密钥的“git”用户识别客户端感兴趣。 所以我想创build的设置是以下任一个: 在主机上的端口22上的代理,当提供的用户是“git”或主机SSH(可能监听另一个端口,重要的是客户端不知道这一点)时,将整个会话转发到Docker Gitlab。不同。 主机SSH处理除“git”之外的所有用户,并在用户名为“git”时将会话转发到Docker容器。 只是要清楚:Docker容器运行一个网桥,它可以从主机通过与主机IP不同的唯一IP地址访问。 在StackOverflow上有一个类似的问题( https://stackoverflow.com/questions/8505445/setup-ssh-server-to-forward-connections ),但没有解决这个问题的答案 – 最有帮助的是那个build议自定义shell,但我没有办法创build类似的东西。

通过鱿鱼cachinggit克隆请求

我们的build / ci服务器和开发者工作站需要克隆大量的仓库,所以我们需要减less下载这些仓库的时间。 有没有办法通过鱿鱼cachinggit克隆请求或HTTP / HTTPS和git://的任何caching机制?

从Bitbucket Pull Request触发Jenkins作业

从SCM这样的Bitbucket触发Jenkins作业有很多种方法,但是我想要做的是使用作为Pull Request源的分支触发构build。 到目前为止,我们已经使用了Bitbucket合并请求生成器,但是它非常脆弱,不可靠,而且支持不好。 https://wiki.jenkins-ci.org/display/JENKINS/Bitbucket+pullrequest+builder+plugin Bitbucket在Webhooks方面提供了相当不错的function,当与Jenkins Git Plugin一起使用时,允许基于各种Bitbucket事件(例如,Pull Request更新)触发构build。 还有Bitbucket的Webhook插件,但是再一次没有提供很多关于dynamicselect你想要构build的分支的信息。 https://wiki.jenkins-ci.org/display/JENKINS/BitBucket+Plugin 但是,这似乎是触发回购的一个民意调查,然后在那里试图build立任何分支不同于主分支。 我们的用例是,我们允许开发者创build他们自己的分支,然后他们为开发分支创build合并请求。 似乎没有什么办法可以触发使用开发人员创build的分支作为构build分支的构build(除了前面提到的Bitbucket合并请求构build器)。 我是对还是错?

找不到Beanstalk – eb分支命令

我是AWS的新手,我正在尝试使用Beanstalk来运行Node.js应用程序。 该应用程序正在运行,我想从prod git分支部署代码。 我遵循这个教程: http : //docs.aws.amazon.com/elasticbeanstalk/latest/dg/command-reference-branch-environment.html 但是当我尝试运行时: eb branch 我明白了 $ eb branch usage: eb (sub-commands …) [options …] {arguments …} eb: error: unrecognized arguments: branch 我安装了EB CLI 3.10.0(Python 3.6.0),我在maxOS Sierra(10.12.3)上。 为什么这个命令不起作用? 谢谢! nicondev

GIT拉出时间?

我最近设置了一个小的turnkeylinux版本控制虚拟机(有大约256MB的RAM),并试图克隆我推送给它的一个版本库。 推送到(通过ssh)是非常快的,但是从非常缓慢拉。 这是我得到的东西,如果我离开它,直到SSH超时: $ git pull [email protected]'s password: remote: Counting objects: 403, done. Read from remote host 1.2.3.4: The connection was aborted fatal: The remote end hung up unexpectedly fatal: early EOF 我试图像这样的克隆: > mkdir myProj > cd myProj > git init > git remote add origin git+ssh://[email protected]/srv/repos/git/myProj > git pull 当我发出拉命令时,它几乎立即达到50%,然后暂停。 它慢慢爬行了几个百分点(一次尝试达到66%),然后最终死亡,如果留下足够长的时间。 这个回购很less,到目前为止只有很less的修改。 除非确定了这个问题,否则我的主要存储库要大得多,而且也不可用。 […]

Ubuntu,Git(git-http-backend)和Apache

我正在尝试build立一个基于git和git-http-backend和apache的仓库服务器。 我的问题? 我可以克隆完美,但是当我尝试推动,我打了一堵墙 $ git push origin master * Couldn't find host git.local in the .netrc file; using defaults * About to connect() to git.local port 80 (#0) * Trying 127.0.0.1… * connected * Connected to git.local (127.0.0.1) port 80 (#0) > GET /new/info/refs?service=git-receive-pack HTTP/1.1 User-Agent: git/1.7.1 Host: git.local Accept: */* Pragma: no-cache < HTTP/1.1 […]

gitweb-致命的:不是一个混帐存储库

所以我build立了一个运行debian stable(squeeze)的简单服务器,并configuration了git。 使用gitolite,我有所有的function(至less是基本的克隆/推/拉/提交)工作。 安装gitweb没有任何问题。 但是,当我访问gitweb,我得到一个没有任何回购列表的gitweb屏幕。 # tail -n 1 /var/log/apache2/error.log [DATE] [error] [client IP_ADDRESS] fatal: Not a git repository: '/var/lib/gitolite/repositories/testrepo.git' # cd /var/lib/gitolite/repositories/testrepo.git # ls branches config HEAD hooks info objects refs 这是我在/var/lib/gitolite/projects.list看到的内容: testrepo.git 在/etc/gitweb.conf : # path to git projects (<project>.git) $projectroot = "/var/lib/gitolite/repositories"; # directory to use for temp files $git_temp = "/tmp"; […]