我刚刚在 debian 上设置了 git + Gitolite 服务器,使用 puttygen 在我的工作站(Windows)上生成了密钥对,并在服务器上使用注册了第一个 pub 密钥
gitosis setup -pk firstuser.pub
Run Code Online (Sandbox Code Playgroud)
然后我使用 TortoiseGit 克隆 gitolite-admin 存储库,使用 url:git@git.myserv.com:gitolite-admin 和 tel Tortoise 使用firstuser.ppk 作为私钥。到目前为止它运行良好。
然后我想测试添加用户并在我的工作站上创建新的存储库。
我在conf文件中添加了一个部分:
repo testcreation
RW+ = seconduser
Run Code Online (Sandbox Code Playgroud)
我在工作站上为第二个用户生成第二个 ssh 密钥对。只需将 secondaryuser.pub 放入 keydir/commit 中并推送新配置即可。
配置seam就可以了,我的新用户pub key添加到服务器端git用户的~/.ssh/authorized_keys中。
我使用 Tortoise 在我的工作站上设置了一个新的存储库,添加了一个新的遥控器:
name : origin
url : git@git.myserv.com:testcreation
Putty Key : seconduser.ppk
Run Code Online (Sandbox Code Playgroud)
然后推送创建repo
TortoiseGit Log :
git.exe push --all --progress "origin"
FATAL: W any testcreation firstuser DENIED by fallthru
(or you mis-spelled the reponame)
fatal: Could not …Run Code Online (Sandbox Code Playgroud) 在 Windows 中通过命令行输入 git 目录时,我需要一个命令行来显示 Tortoisegit 的显示日志GUI。
所以我想避免打开资源管理器->转到文件夹-单击右键->等。事情,但我仍然想要漂亮的 Tortoisegit显示日志图。
如何在 cmd 中执行此操作?
第 1 步:我创建了一个本地 Git 存储库
第2步:然后我做了一个Pull(当前分支是master)
第 3 步:之后,我在本地副本上使用重置恢复了合并,如下所示。
步骤4:之后就正确显示了,如下图所示。
问:我尝试将更改推送到远程主机。它给出以下错误。你能告诉我为什么吗?我正在使用 TortoiseGit。谢谢。
我已经从远程存储库检查了master版本,并切换到名为 的分支dev。现在我在dev分支中做了一些更改,需要将其推送到dev远程分支中。master但在将更改推送到分支之前,我也需要进行同步和更新dev。
帮助我如何在 TortoiseGit 中实现这一目标。
我的 .git/hooks 目录中有两个挂钩文件“prepare-commit-msg”和“commit-msg”:
准备-提交-消息
#!/bin/bash
echo "prepare-commit-msg"
exit 0
Run Code Online (Sandbox Code Playgroud)
提交消息
#!/bin/bash
echo "commit-msg"
exit 0
Run Code Online (Sandbox Code Playgroud)
如果我使用 Git Bash 提交,则按预期在消息编辑之前运行“prepare-commit-msg”,并在消息编辑之后运行“commit-msg”:

但是如果我使用 TortoiseGit 提交,两个钩子都会在消息编辑后运行:

我知道 TortoiseGit 有钩子脚本的设置(开始提交、预提交……),但我没有将这些设置为任何值。
我正在尝试使用 TortoiseGit 创建补丁,但我无法通过工作副本更改获得补丁,这意味着 TortoiseGit 中可能没有工作副本更改选项。但我能够使用提交的更改创建补丁。但我只需要未提交的更改的补丁。请帮忙解决这个问题。
当您打开 TortoiseGit 克隆存储库时,在克隆现有存储库下,它会用之前已经克隆的存储库填充 URL 下拉菜单。但是,我想清理这段历史。我怎样才能做到这一点?我这样做的原因是因为我使用的是公司的笔记本电脑,现在我想删除上面的所有内容。我已经成功地从那里删除了我的 git 凭据。
我正在尝试克隆一个需要 SSH 密钥的存储库。设置中的“远程”选项只有在克隆后才可用。有没有办法在不从命令行克隆或使用其他工具的情况下设置此 SSH 密钥?
自从 TortoiseGit 从 2.6.0.0 更新到 2.7.0.0 以来,我无法再通过使用 TortoiseGit 访问我的 GitLab。我设法在 2.6 上获取、拉取和推送,但截至今天,使用 2.7 这不起作用。我有两台设置完全相同的计算机,一台仍在 2.6 上,另一台在 2.7 上。2.7 版本为我提供了错误
remote: HTTP Basic: Access denied
fatal: Authentication failed for 'https://gitlab.com/company/NL/projects/name.git/'
Run Code Online (Sandbox Code Playgroud)
这与此处提到的错误完全相同。但是,我也尝试了那里显示的所有选项,但没有一个起作用。我不断收到“适用于 Windows 的 Git 凭据管理器”弹出窗口,我在其中提供了用于登录 GitLab 并在另一台计算机上工作的用户名和密码,但我仍然遇到身份验证失败。使用 wincred 也不起作用。
看着正在工作的计算机,我确实git:https://gitlab.com在 Windows 凭据管理器的“通用凭据”类别中看到了一个凭据。与此类似的凭据不会出现在“出现故障”的计算机上。在那里手动添加我的凭据会阻止 Windows 的 Git 凭据管理器出现,但是,仍然会导致访问被拒绝错误。
其他可能有帮助的项目:
git config credential.helper 设置为“经理”当然,我的关键问题仍然存在:如何通过 git 再次访问我的远程存储库?
我正在尝试将我的存储库倒回一些提交。
打开提交日志后,我选择要倒回的提交,然后Reset "master" to this...,然后Hard: Reset working tree and index。
当再次打开日志时,所有后来的提交确实都消失了。
但是当我从 clean 中提取存储库时,它们又回到了那里。
这个任务过去对于 Subversion 来说很简单(不过,并没有完全删除一堆提交,只是恢复到以前的提交,除非您选择上一个提交,即最近的提交之前的提交,否则它不会显示在 Tortoise Git 菜单中)。
知道如何实现我的目标吗?