我的 Git 设置在 Linux 上运行良好,但是当我尝试在 Windows 下进行设置时(使用 Git for Windows 和TortoiseGit),我不知道将我的私有 SSH 密钥放在哪里(或者更好的是,如何知道ssh它在哪里位于)。我在安装 Git for Windows 期间使用标准 ssh.exe 选项。如果我允许服务器上的密码身份验证(代替 RSA),则设置运行良好。
我想知道是否有办法告诉哪个本地分支正在跟踪 Git 中的哪个远程分支。
我正在使用一台名为“origin”的远程服务器。
我想以非交互式方式克隆一个 repo。克隆时,git 要求确认主机的指纹:
The authenticity of host 'bitbucket.org (207.223.240.182)' can't be established.
RSA key fingerprint is 97:8c:1b:f2:6f:14:6b:5c:3b:ec:aa:46:46:74:7c:40.
Are you sure you want to continue connecting (yes/no)? no
Run Code Online (Sandbox Code Playgroud)
每次出现这个问题时,我如何强制“是”?我尝试使用yes yes | git clone ...,但它不起作用。
编辑:这是一个解决方案:我可以自动将新主机添加到 known_hosts 吗?(使用 ssh-keyscan 将所有内容添加到 known_hosts)。
在服务器上,安装 git
cd /
git init
git add .
git commit -a -m "Yes, this is server"
Run Code Online (Sandbox Code Playgroud)
然后/.git/指向网络驱动器(SAN、NFS、Samba 等)或其他磁盘。每小时/每天等使用 cron 作业来更新更改。.git 目录将包含所有服务器文件的版本副本(不包括无用/复杂的文件,如 /proc、/dev 等)
对于不重要的开发服务器,我不希望在适当的备份系统上设置它的麻烦/成本,并且备份只是为了方便(即我们不需要备份该服务器,但它会节省如果出现问题,有一段时间),这可能是一个有效的备份解决方案,还是会倒在一大堆便便中?
我已经开始使用 git 部署网站进行测试。如何防止 apache 为 .git 目录内容提供服务?
我试过
<Directorymatch "^/.*/\.svn/">
Order deny,allow
Deny from all
</Directorymatch>
Run Code Online (Sandbox Code Playgroud)
没有成功。
我知道我可以在每个 .git 目录中创建一个 .htaccess 文件并拒绝访问,但我想要一些我可以放入主配置文件的东西,使其在所有网站上都是全局的。
我知道如何在 git 存储库中检索单个文件的最后修改日期:
git log -1 --format="%ad" -- path/to/file
Run Code Online (Sandbox Code Playgroud)
是否有一种简单有效的方法可以对存储库中当前存在的所有文件执行相同操作?
当我开始使用 git 时,我只是做了 agit init并开始调用add和commit。现在我开始注意了,我可以看到我的提交显示为cowens@localmachine,而不是我想要的地址。看起来好像设置GIT_AUTHOR_EMAIL并且GIT_COMMITTER_EMAIL会做我想做的事,但我仍然有那些带有错误电子邮件地址/名称的旧提交。如何更正旧的提交?
如果我用托管 Web 服务器进行类比,我会说 git 的数据应该在 中/var/git,所以我的 git 存储库将在/var/git/myrepo
问:那是正确的猜测吗?
git ×10
ssh ×2
apache-2.2 ×1
backup ×1
firewall ×1
linux ×1
permissions ×1
port ×1
private-key ×1
rsa ×1
share ×1
users ×1
windows ×1