问题标签 [msysgit]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
git - Windows 的 git 推送验证将作者设置为未知
我最近在 Ubuntu 服务器上的专用网络中设置了一个新的 gitosis。网络中的所有其他客户端都是 Windows XP 机器,除了一个 Linux 客户端
我在 gitosis.conf 中有以下设置:
我还在 keydir 中放置了 user1.pub、user2.pub 和 user3.pub 密钥文件。密钥是使用 ssh-keygen 在 Ubuntu 服务器上生成并分发给各个用户的。公钥的副本放在 keydir 中。
前两个用户是 Windows XP 用户,他们使用 msysgit + TortoiseGit 使用存储库,一个用户在 Linux 机器上使用默认命令行版本的 git 访问存储库。
现在一切都设置好了,每个人都可以做任何他们期望做的事情,他们可以拉、推、提交——一切看起来都很好,除非我们检查日志!!!
在 Linux 机器上使用 user3,我尝试了“git log”命令并得到以下输出:
这是不正确的。这个日志应该可以告诉我谁是 Push 的作者。我的感觉是,它为 Linux 上的用户提供了正确的值,因为他们的用户名和电子邮件也添加到了 Linux 用户信息中,但对于 Windows 客户端,它不是真的,所以他们的名字不会正确显示。但是,即使我在 Windows 机器上修复了名称,也可以通过模拟其他用户名来避免这种情况,我不想依赖用户名。
我希望 SSH 文件中提供的名称出现在那里,或者推送时使用的 SSH 文件的名称添加为作者。
可能是git的钩子预接收可以在这里提供帮助,但我不知道如何使用它......有人可以帮忙吗?
谢谢,拉克什
更新:
感谢您的回答。
alexandrul,我没有设置全局设置,这是因为我希望每个用户的信息都应该被真实记录。
静噪,你是对的,我可以看到省略用户名的用户,但我如何强制他们这样做。我可以告诉他们配置他们的本地项目项目并设置用户名和电子邮件地址,但是如果有人使用假用户名或尝试使用其他人的用户名和电子邮件地址,基本上试图冒充其他人怎么办?
这就是为什么我认为为什么不记录私钥文件的名称,例如,我将文件名设置为 user1 的 user1.ppk,类似于 user2 的 user2.ppk。在这种情况下,即使有人试图扮演其他人,他们也不会成功,因为用于检查的关键名称会告诉我真相。
有任何想法吗???
问候, 拉克什
更新 2:
感谢帮助。Squelch,感谢您花时间解释这么多细节。我认为电视的蜘蛛网有很多信息,现在正在阅读。
到目前为止,我所做的一件事是:要求我的用户使用更新他们的配置来包含用户名和电子邮件地址。但我必须解决问题,因为我无法追逐每个用户。
我想要像 SVN+SSH 这样的东西,我们在密钥文件中使用 tunnled 用户名,它会被 SVN 记录下来。
git - 在 Windows 上使用 msysGit 的“git clone”不起作用
我已经在我的几台计算机上安装了 msysGit,并且只在一台特定的计算机(当然是我的主要工作计算机)上遇到了问题。'git 克隆' 不起作用。当我在存储库上运行克隆命令时,会发生这种情况:
它开始填充 .git 目录,但从不下拉任何其他内容。我已经让它运行了几个小时,看看它是否至少会引发错误。它继续坐在那里。如果我尝试取消它,它工作得很好。它似乎永远不会拉下存储库。我已经在多个地方的多个存储库上尝试过这个。有谁知道可能发生了什么?
windows - 在 Windows 上使用 msysgit 设置 Git 服务器
我和我的朋友正在尝试使用教程Git 服务器:Windows 上的 Gitosis 和 Cygwin为 Windows 设置 Git ,但我们总是遇到问题。
使用msysgit的 Windows 的“设置 Git 服务器”指南是什么样的?
上面的教程中有一条评论表明它不能用 msysgit 完成,因为 gitosis 需要使用 SSH 服务器和 Bash?什么是分步指南(因为没有可用的指南)?
安装 mysisgit
?
git - msysgit 问题
所以我似乎在设置 msysgit 时遇到了一些实际问题。我可以使用 putty 连接到我的 SSH 目录
ssh://user@host:port
我有正确的钥匙。我也可以使用 plink 通过
plink -P PORT user@host -i /path/to/private_key.ppk
当我尝试运行(通过 TortiseGIT)或通过 git bash
git clone ssh://user@host:port/path/to/myapp.git
我只是不断收到错误
在 D:/Git/myapp.git 中初始化空的 Git 存储库
警告:您似乎克隆了一个空的存储库。
致命:远端意外挂断
我检查了 bot /Git/setup.ini 和 TortiseGIT 并且都使用
C:\Program Files\TortoiseSVN\bin\TortoisePlink.exe
有谁知道我该如何解决这个问题,因为它让我发疯!
windows - 如何让 git 和 copSSH 在正确的目录中查找密钥?
我刚刚为 Windows 安装了 copSSH。当我启动它时,我得到一个 C:\copSSH\home\Nick\.ssh
包含我的 pub 和私钥的目录。
当我通过 Cygwin bash 窗口使用
ssh 用户@主机
我很高兴地登录了。但是,当我打开一个 git bash 窗口时
git clone ssh://user@host
它尝试访问 中的密钥C:\Users\Nick\.ssh
,这给了我“权限被拒绝”错误。如何修复 git 以使所有内容都C:\copSSH\home\Nick\.ssh
用作目录?
git - 尝试使用 git filter-branch 修复行尾,但没有运气
我被 git 的 Windows/Linux 行尾问题所困扰。看来,通过 GitHub、MSysGit 和其他来源,最好的解决方案是将本地存储库设置为使用 linux 样式的行尾,但设置core.autocrlf
为true
. 不幸的是,我没有足够早地这样做,所以现在每次我拉变化时,行尾都是无聊的。
我以为我在这里找到了答案,但我无法让它为我工作。我的 Linux 命令行知识充其量是有限的,所以我什至不确定“xargs fromdos”行在他的脚本中做了什么。我不断收到有关不存在此类文件或目录的消息,当我设法将其指向现有目录时,它告诉我我没有权限。
我已经在 Windows 上使用 MSysGit 和通过 Mac OS X 终端尝试过这个。
git - 如何让我的 git(Windows 上的 msysgit)提交后脚本以 python 而不是 bash 调用我的 python 脚本?
我在 python 中编写了一个提交后脚本,“c:\myfolder\myscript.py”。我想从提交后脚本中调用它。这没有找到:
bash 认为命令 c:myfoldermyscript.py - 斜线被删除。
所以,我尝试了正斜杠:
但是似乎 bash 认为我的 .py 文件本身就是一个 bash 脚本,所以我得到了 bash 错误,因为它错误地试图解释它。
asp.net - 如何退出 ASP.NET 页面并执行 git 命令?
我希望我的 ASP.NET 页面能够脱壳并执行 git 命令。我将命令放在一个 bat 文件中,该文件有效:
如果我从 cmd 提示符运行我的 .bat 文件,没问题。如果我使用 System.Diagnostics.Process.Start 运行它,我会收到此错误:
请求 RUNTIME_PREFIX,但前缀计算失败。使用静态回退
错误来自这个 git 文件:http: //github.com/git/git/blob/master/exec_cmd.c
我使用完全相同的技术来运行 svn.exe 命令,没问题。
编辑 1:从这里的线程我了解到 msysgit 将一些文件安装在与当前用户我相关的位置,而不是所有用户。IIS Web 服务器正在另一个用户帐户下运行。我尝试将一些引起我注意的 git 文件(例如 .gitconfig)复制给其他用户(在文档和设置中)。没运气。因此,我将重点转移到让 IIS 在启动 git 命令时模拟我。
git - 使用 Git GUI 或 ssh-keygen 的 SSH 私钥权限太开放
最近一直无法clone或者push到github,正在寻找根本原因。
这是在窗户上
我有 cygwin + git 和 msysgit。
Msysgit 使用以下选项安装:
- 开放SSH
- 从 Windows 命令提示符使用 Git
这给了我 4 个环境来尝试使用 git:
- Windows cmd 提示符
- 电源外壳
- 重击
- 赛格温
不知何故,我设法让自己进入一个位置,当我尝试使用 msysgit、cmd.exe 或 Powershell 克隆存储库时,我收到以下错误:
这是使用我的 c:\users\ben\ 文件夹中的 .ssh 文件夹,这是 msysgit 使用的。我怀疑 cygwin 可以工作,因为 .ssh 文件夹位于其他位置,但我不知道为什么
在 Git Bash 中,我检查权限:
这给了我:
这些权限显然太宽松了。他们是怎么走到这一步的,我不知道。
我可以尝试改变它们...
这告诉我:
但它似乎没有任何效果。我仍然遇到同样的错误,并且正在做
产生与以前相同的权限。
更新:
我试图在 cygwin 中修复这些文件的权限,并且 cygwin 正确报告了它们的权限,gitbash 没有: alt text http://cdn.cloudfiles.mosso.com/c54102/app7962031255448924.jpg
关于如何真正修复这些权限的任何想法?