Articles of git

在Windows上的Git:强制使用OpenSSH

我为windows安装了git,当提供selectPutty或OpenSSH的选项时,我select了OpenSSH。 但是,我确实安装了腻子,似乎Git抓住了这一点,正在尝试使用它。 (我在环境variables中有GIT_TRACE = 2) E:\blah>git push trace: built-in: git 'push' trace: run_command: 'ssh' 'git@bitbucket.org' 'git-receive-pack '… Enter passphrase for key 'C:\putty\my.ppk': 这真是奇怪,因为ppk甚至没有密码。 虽然真正的问题是它不应该使用腻子键,它应该使用〜/ .id_rsa 这是安装后,但重新启动计算机后,它开始这样做。 有没有办法告诉git使用openssh而不必重新安装?

带有Windows中央存储库的DVCS

我们目前正在使用VSS进行版本控制。 我们很less有开发人员对分布式模型感兴趣(并想摆脱VSS)。 我们的networking充满了Windows机器,虽然我们的IT部门有维护Linux机器的经验,但是他们不希望这样做。 什么DVCS系统可以托pipe他们的中央库在Windows上,同时提供.. 将访问权限推送到存储库。 基本authentication。 大多数情况下只是一种方法来允许或拒绝访问整个存储库。 不需要细粒度访问。 服务器进程,因此用户不需要对存储库进行写入操作,从而降低了意外混淆的风险。 在客户端,像Tortoise这样的graphics用户界面可能会成为一个需求(对不起,Windows shell很糟糕:|)。 由于我们的IT部门的资源已经相当的不足了,所以安装简便。 只要客户端能够存储凭据,使用Windows凭据进行身份validation将是一个优势,但不是一个要求。 我有一个(真的)快看Git,Mercurial和Bazaar。 Git似乎使用ssh或简单的WebDAV进行存储库访问,需要用户的写入权限。 Mercurial有一个内置的http服务器,但这似乎只是为了拉目的。 更新: Mercurial也支持推送。 Bazaar似乎使用sftp进行存储库访问,同样需要用户的写入权限。 是否有任何DVCS系统的Windows服务器进程,并有人设法在Windows的土地? 如果这是一个重复的问题,并表示歉意。 我找不到一个。 更新 得到了Mercurial为推挤目的工作! 详细的清单所需的东西可以在下面find答案。

如何处理不同布局的Visual Studio解决scheme中的Git子模块?

我们使用Visual Studio 2010(使用C#)进行开发,并从SVN迁移到GIT。 现在我们尝试将我们的仓库(这是相当大的~30,000个文件)分割成许多git仓库 – 每个解决scheme都有一个仓库。 这些解决scheme共享一些项目,大多是我们内部开发的图书馆,并希望从所有解决scheme中增加。 新的版本库有一个平面布局。 每个项目的一个子目录(共享项目是子模块)。 在大旧的回购,项目是在一个树状结构。 外部引用在子模块中出现问题。 在新的版本中,引用项目的path可能是“…… libs \ someproject”,而在新版本中,正确的path是“.. \ someproject”。 我们已经有了一些关于这个的编辑大战,而且不再热衷于这个。 我可以想到的一半解决scheme: 在… csproj.user中使用“引用path”,并从版本控制中排除此文件(必须对每个开发者重做,并且在每次重新清理之后) 在每一种情况下都使用分支机构,并且试图教导每个人“真正的”承诺应该去的地方以及“环境变化”应该去的地方(子模块已经不是最简单的概念了) embedded二进制文件而不是子模块(但是如何开发对子模块的更改呢?不同的log4net版本呢?) 有谁知道一个理智的解决scheme?

cygwin bash中的sucessfull克隆后,本地Git存储库不存在

当我克隆到通过绝对path引用的目录(不存在),git不会抱怨任何事情,报告0退出代码,但目录没有创build。 当我重试时,Git符合目录确实存在: user@host /tmp $ git clone https://github.com/zandev/shunit2.git /tmp/shunit01 Cloning into '/tmp/shunit01'… remote: Counting objects: 1219, done. emote: Total 1219 (delta 0), reused 0 (delta 0), pack-reused 1219 Receiving objects: 100% (1219/1219), 308.20 KiB | 0 bytes/s, done. Resolving deltas: 100% (657/657), done. Checking connectivity… done. user@host /tmp $ echo $? 0 user@host /tmp $ […]

Git扩展 – 无法在Windows上的networking驱动器中推送到git裸存储库

我在Windows上学习git,我已经安装了Git Extensions(Version 2.47.3)并且玩了一下。 我在我的C:单元(作为中央存储库)和我的硬盘上的其他任何地方创build了一个裸存储库。 我承诺,在硬盘上这两个回购没有问题。 现在我创build了一个新的裸机中央存储库,它不在我的硬盘上,而是在一个networking驱动器中,让我们说:// myShare / centralRepo /和一个新的个人存储库(本地硬盘)。 我已经在我的主分支上的个人存储库中首次提交,并创build了一个名为develop的新分支。 然后,我想推到我的中央回购,这就出现了问题。 它启动过程,写对象直到73%(17/23)挂起一段时间,然后显示错误: "C:\Program Files (x86)\Git\bin\git.exe" push –recurse-submodules=check –progress "//myShare/centralRepo/" refs/heads/master:refs/heads/master Counting objects: 23, done. Delta compression using up to 4 threads. fatal: sha1 file '<stdout>' write error: Broken pipe remote: error: unable to create temporary file: File exists[K remote: fatal: failed to write object[K […]

如何让Docker在公司防火墙后的Windows系统上运行?

我试图得到一个工作docker安装以下教程: http : //docs.docker.io/en/latest/installation/windows/ 到目前为止,我得到的虚拟机运行一个手动下载的存储库(后面的github链接,并下载为zip,因为“git克隆”没有工作在我的公司代理,即使设置代理与“git conf –global http .proxy …“ – 它一直要求我authentication407,虽然我进入了我的用户&PW)。 现在我处于应该使用“docker run busybox echo hello world”(Section“Running Docker”)的状态。 当我这样做的时候,我首先被告知Docker没有安装(如教程的底部所示),然后,我用apt-get install docker得到它后,我得到“Segmentation Fault或者遇到严重错误。核心和堕落“。 现在做什么? 这是因为我没有使用git clone或者是docker安装有问题吗? 我读的地方,apt-get安装docker不安装我想要的docker,但一些GNOME的工具,我可以指定我的apt-request来获得正确的工具?

如何在Windows上设置和克隆远程git仓库?

任何人都知道如何从Windows服务器上的git远程仓库中签出,克隆或获取项目或代码? 存储库IP是: xxx.xx.xxx.xx ,源文件目录是c:\git\git.git\xxx\file.exp 我习惯于SUSE Linuxterminal的命令行界面。 我已经尝试了同样的方法,但它总是回答说,存储库不存在。 任何人都可以告诉我如何设置和克隆?

ThreadScope的gettext.sh文件干扰Windows上的git

当我运行git命令时,我注意到我得到了一个完全不相关的程序的奇怪消息,即threadscope,我用它来获取有关我的并行Haskell程序的信息。 git stash ': not a valid identifier/threadscope-0.2.2/bin/gettext.sh: line 90: export: `dashless ': not a valid identifier/threadscope-0.2.2/bin/gettext.sh: line 90: export: `USAGE ': not a valid identifier/threadscope-0.2.2/bin/gettext.sh: line 90: export: `stash_msg 我不确定是什么原因造成的。 这似乎是良性的,但有点烦人。 它似乎与程序“gettext.exe”有关,但我无法在网上find有关它的信息。 在gettext.sh中有问题的行90是 eval_gettext () { gettext "$1" | (export PATH `envsubst –variables "$1"`; envsubst "$1") } 有人能以正确的方式帮助我摆脱这些信息吗? 我正在使用Window 10.我通过从https://wiki.haskell.org/ThreadScope#Installing_ThreadScope下载二进制文件并将它们放在我的程序文件文件夹中来安装threadscope。

在Windows上连接到GitHub的问题,甚至通过PuTTY

我知道在不同的地方已经讨论过这个问题(在Stack Overflow中和之外),但是我还没有find一个一致的解决scheme。 现在,我试图通过腻子连接到github。 我连接到github.com,加载我的私钥,并得到一个 login为: 提示。 当我打回车时,我得到了通常的“断开:没有支持的身份validation方法”错误消息。 我正在传递正确的私钥! (我已经从另一台电脑testing了这个密钥,它工作)。 我尝试过和没有选美(并确保钥匙在那里加载)。 你如何推荐我继续? 编辑 – 我遇到的问题,似乎performance在我的一个仓库,而不是其他。 我如何检查或修复损坏的存储库? (它不会出现任何其他方式的损坏,我不能从中推出任何东西)。 两者使用相同的密钥。

如何input密码给git pull命令?

我已经为Windows和Linux编写脚本,从本质上设置了一个新的用户工作区,其中包含我们服务器上的所有git存储库。 我希望用户input一次服务器的密码,将其存储在本地variables中,将该variables传递给每个git pull命令,然后清除密码variables并退出。 git pull命令请求时如何input密码? 用于Windowsbatch file和Linux shell脚本。 这是来自Linux脚本的代码: #!/bin/bash echo "Enter password: " read pswd clear #No screen peaking #This is repeated for each repo location=folderName mkdir $location cd $location git init git remote add origin git@<server>:$location.git git pull origin master #Above prompts for password & is where I want to automatically input $pswd […]