Chuyển các tùy chọn SSH sang git-clone


7

Tôi kết nối với máy chủ của mình bằng SSH:

ssh user@server -p 2224 -zZ abcd

Tôi cũng có một kho git trên máy chủ của tôi. Cách duy nhất tôi biết để nhân bản là:

git clone ssh://user@server.com:2224/path/to/repo

Sử dụng lệnh trên Tôi không thể kết nối với máy chủ của mình vì -zZ abcdkhông có trong lệnh. Tôi đã thử các lệnh sau nhưng không hoạt động.

git clone ssh://user@server.com:2224/path/to/repo -zZ abcd

git clone "ssh://user@server.com:2224/path/to/repo -zZ abcd"

Làm thế nào tôi có thể bao gồm các tham số ssh trong git-clonelệnh?


Câu trả lời:


5

Bạn có thể thiết lập các tùy chọn cấu hình để lưu gõ; vì vậy, sau

$ cat >>.git/config <<EOF
[remote "myrepo"]
    url = ssh://user@server.com:2224/path/to/repo -zZ abcd
EOF

chỉ sử dụng git clone myrepo

Xem giải thích về các tùy chọn remote..url trong git config để biết chi tiết.


3

Một khả năng khác là đặt tùy chọn ssh cho mỗi máy chủ. Điều này có thể tốt khi bạn muốn các tùy chọn ssh hoạt động cho tất cả các lệnh ssh chứ không chỉ cho git. Các tùy chọn này đi vào ~ / .ssh / config và được ghi lại trong man ssh_config. Ví dụ: ~ / .ssh / config có thể bao gồm một cái gì đó như:

Host server.com
Compression "yes"
ConnectTimeout 4
GlobalKnownHostsFile /path/to/hosts_file

0

Nếu bạn thường xuyên sử dụng kho lưu trữ thì bạn nên thực hiện việc này bằng cách sử dụng .ssh/confignhư amcnabb nói, hãy nhớ rằng .ssh/configcho phép bạn tạo bí danh cho các tùy chọn cấu hình hoặc có thể .git/confignếu không phù hợp vì lý do nào đó.

Tuy nhiên, nếu bạn phải vượt sshqua các tùy chọn cấu hình thực sự thoáng qua, như vì bạn bị kẹt ở wifi sân bay bị chặn ssh, thì hãy điều chỉnh các hướng dẫn thông thường của tôi cho sshhơn tor:

Cài đặt connecttrong đường dẫn của bạn, có thể bằng cách xây dựng connect.ctừ nguồn

Tạo một tập lệnh gọi là git-tbb:

#!/bin/bash
export CONNECT_PASSWORD=""
exec ssh -o ProxyCommand="connect -5 -S 127.0.0.1:9150 %h %p" $*

Tạo một kịch bản gọi là git-tbb

#!/bin/bash
export GIT_SSH=`which ssh-tbb` git pull
exec git $*

Đổi tên chúng thành -tornếu bạn thay đổi cổng thành 9050 cho cấu hình tor mặc định, trái với 9150 mặc định của TBB.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.