Sau khi làm theo hướng dẫn của Tim Davis và theo dõi của Steve, đây là những gì tôi đã làm:
Máy chủ PC
- Cài đặt CopSSH, msysgit.
- Khi tạo người dùng CopSSH, bỏ chọn Xác thực mật khẩu và kiểm tra Xác thực khóa công khai để khóa công khai / riêng tư của bạn sẽ hoạt động.
- Tạo khóa công khai / riêng bằng PuTTygen. đặt cả hai khóa trong thư mục CopSSH / home / user / .ssh của người dùng.
Thêm phần sau vào tệp CopSSH / home / user / .bashrc của người dùng:
GITPATH='/cygdrive/c/Program Files (x86)/Git/bin'
GITCOREPATH='/cygdrive/c/Program Files (x86)/Git/libexec/git-core'
PATH=${GITPATH}:${GITCOREPATH}:${PATH}
Mở Git Bash và tạo một kho lưu trữ ở bất cứ đâu trên PC của bạn:
$ git --bare init repo.git
Initialized empty Git repository in C:/repopath/repo.git/
Máy khách
- Cài đặt msysgit.
- Sử dụng khóa riêng bạn đã tạo trên máy chủ để sao chép repo của bạn từ ssh: // user @ server: port / repopath / repo.git (vì một số lý do, root là ổ C:)
Điều này cho phép tôi sao chép và cam kết thành công, nhưng tôi không thể đẩy lên repo trần trên máy chủ. Tôi tiếp tục nhận được:
git: '/repopath/repo.git' is not a git command. See 'git --help'.
fatal: The remote end hung up unexpectedly
Điều này dẫn tôi đến dấu vết và giải pháp của Rui là tạo hoặc thêm các dòng sau vào .gitconfig trong đường dẫn % USERPROFILE% của PC khách của bạn (C: \ Users \ UserName).
[remote "origin"]
receivepack = git receive-pack
Tôi không chắc tại sao điều này lại cần thiết ... nếu bất cứ ai có thể cung cấp cái nhìn sâu sắc, điều này sẽ hữu ích.
phiên bản git của tôi là 1.7.3.1.msysgit.0