Tôi đã sử dụng SSH để sao chép một repo git bằng Windows; tuy nhiên trong PowerShell.
$configStoreGitDir = "$GitBaseDir\.git"
if (!(Test-Path -Path $configStoreGitDir -PathType Container)) {
Write-Verbose "Unable to locate local git folder at $GitBaseDir - recreating and cloning"
New-Item -Type Directory $GitBaseDir
git clone $GIT_REPO $GitBaseDir
}
Khi tôi đang cố gắng để sao chép một repo như một người sử dụng tôi đã nhận được cùng một lỗi .ssh
thư mục:
Cloning into 'C:\Git\test-environments'...
Could not create directory '/c/Windows/system32/.ssh'.
Thay vì thể xác định rõ con đường, tôi đặt biến môi trường Powershell $env:USERPROFILE
sử dụng HOME
giống như @akevit được đề cập trong câu trả lời của anh ấy.
$env:HOME = $env:USERPROFILE
$configStoreGitDir = "$GitBaseDir\.git"
if (!(Test-Path -Path $configStoreGitDir -PathType Container)) {
Write-Verbose "Unable to locate local git folder at $GitBaseDir - recreating and cloning"
New-Item -Type Directory $GitBaseDir
git clone $GIT_REPO $GitBaseDir
}
Bây giờ nó hoạt động và sử dụng known_hosts
và id_rsa
khóa bí mật ở những người sử dụng $env:USERPROFILE\.ssh\
thư mục.
Cloning into 'C:\Git\test-environments'...
remote: Counting objects: 460, done.
remote: Compressing objects: 100% (457/457), done.
Đây là với 64bit git mới nhất của Windows cài đặt:
git --version
git version 2.6.3.windows.1
Bạn đang chạy git như là người dùng SYSTEM' '. Tại sao? – Chronial
cố gắng chạy có bash với privs cao một lần và nhân bản từ đó. Lời nhắc này có thể là một phần khi ssh yêu cầu nhập yes để thêm vân tay máy chủ lưu trữ –