Tôi muốn thực hiện lệnh này trong một dòng:
git pull && [my passphrase]
Làm thế nào để làm nó?
Tôi muốn thực hiện lệnh này trong một dòng:
git pull && [my passphrase]
Làm thế nào để làm nó?
Câu trả lời:
Đây không phải là chính xác những gì bạn yêu cầu, nhưng đối với http (s):
https://user:pass@domain/repo
nhưng điều đó không thực sự được khuyến khích vì nó sẽ hiển thị người dùng / vượt qua của bạn ở nhiều nơi ...Ví dụ sử dụng cho người trợ giúp thông tin
git config credential.helper store
- lưu trữ các thông tin vô thời hạn.git config credential.helper 'cache --timeout=3600'
- cửa hàng trong 60 phútĐể truy cập dựa trên ssh, bạn sẽ sử dụng tác nhân ssh sẽ cung cấp khóa ssh khi cần. Điều này sẽ yêu cầu tạo khóa trên máy tính của bạn, lưu trữ khóa chung trên máy chủ từ xa và thêm khóa riêng vào kho khóa có liên quan.
Tôi đã tìm thấy một cách để cung cấp thông tin đăng nhập cho kết nối https trên dòng lệnh. Bạn chỉ cần xác định URL hoàn chỉnh để git pull và bao gồm thông tin đăng nhập ở đó:
git pull https://username:password@mygithost.com/my/repository
Bạn không cần phải lưu trữ bản sao với thông tin đăng nhập trước, điều này có nghĩa là thông tin đăng nhập của bạn không kết thúc .git/config
. (Nhưng hãy chắc chắn rằng trình bao của bạn không phản bội bạn và lưu trữ dòng lệnh trong tệp lịch sử.)
:password
phần này, bạn sẽ được nhắc nhập mật khẩu sau khi nhấn enter. Bằng cách đó, mật khẩu của bạn sẽ không được lưu trong lịch sử bash.
Không trả lời trực tiếp câu hỏi, nhưng về cơ bản, tôi đã tìm thấy câu hỏi này khi tìm cách để không nhập lại mật khẩu mỗi lần tôi kéo máy chủ từ xa .
Vâng, git
cho phép bạn lưu trữ thông tin đăng nhập của bạn trong một khoảng thời gian hữu hạn. Nó có thể tùy chỉnh git config
và trang này giải thích rất rõ:
https://help.github.com/articles/caching-your-github-password-in-git/#pl platform-linux
Trong một thiết bị đầu cuối, chạy:
$ git config --global credential.helper cache
# Set git to use the credential memory cache
Để tùy chỉnh thời gian chờ bộ đệm, bạn có thể làm:
$ git config --global credential.helper 'cache --timeout=3600'
# Set the cache to timeout after 1 hour (setting is in seconds)
Thông tin đăng nhập của bạn sau đó sẽ được lưu trữ trong bộ nhớ trong khoảng thời gian được yêu cầu.
Lưu ý rằng cách "lưu trữ" trình trợ giúp thông tin git sẽ lưu trữ các thay đổi mật khẩu không được mã hóa với Git 2.5+ (quý 2 năm 2014).
Xem cam kết 17c7f4d của Junio C Hamano ( gitster
)
credential-xdg
Tinh chỉnh mẫu "
store
" phụ trợ của trình trợ giúp thông tin để tôn vinh các vị trí tệp cấu hình XDG khi được chỉ định.
Các tài liệu bây giờ nói:
Nếu không được chỉ định:
- thông tin đăng nhập sẽ được tìm kiếm từ
~/.git-credentials
và$XDG_CONFIG_HOME/git/credentials
, và- thông tin đăng nhập sẽ được viết cho
~/.git-credentials
nếu nó tồn tại hoặc$XDG_CONFIG_HOME/git/credentials
nếu nó tồn tại và trước đây không tồn tại.
Dưới đây cmd sẽ hoạt động nếu chúng tôi không có mật khẩu @:
git pull https://username:pass@word@mygithost.com/my/repository
Nếu bạn có mật khẩu @ thì hãy thay thế bằng% 40 như hình dưới đây:
git pull https://username:pass%40word@mygithost.com/my/repository