2012-06-09 28 views
8

Vì tôi có phiên bản mới, nó không hỏi tôi nữa mật khẩu tôi đã đặt trong tệp khóa ssh của mình.Git (1.7.10) hỏi tôi mỗi lần nhập tên người dùng và mật khẩu

Nó yêu cầu trực tiếp cho tên người dùng và mật khẩu github khi tôi đẩy mọi lúc.

Đây có phải là tính năng mới của git hoặc đã thay đổi nó trong quá khứ hoặc có điều gì đó thay đổi trên github không?

Tôi đã cố xác thực bằng ssh và email và mật khẩu từ tệp khóa ssh của tôi và nó hoạt động.

GitHub đổi thành SmartFTP và cũng thay đổi các hướng dẫn cho việc thiết lập các hợp đồng mua

https://github.com/blog/1104-credential-caching-for-wrist-friendly-git-usage

https://help.github.com/articles/create-a-repo

Saw nó sau này, họ sử dụng tại https thay vì giao thức git theo mặc định

+0

Kiểm tra xem từ xa của bạn có thực sự được định cấu hình cho truy cập 'git' hoặc' ssh' bằng cách chạy 'git remote -v' hay không. Có thể bạn đã nhân bản vô tình từ 'https'. Nếu không, điều này không nên được yêu cầu. – pmr

+0

Tôi thấy rằng github đã thay đổi các tài liệu để thiết lập repos, xem bước 3: https://help.github.com/articles/create-a-repo họ sử dụng https trước khi nó là [email protected] chỉ ... –

+0

do đó, không phải do tai nạn –

Trả lời

5

Tôi chạy vào ngày hôm kia khi cắt và dán từ các hướng dẫn kho lưu trữ mới trên GitHub. Ai đó có lẽ nên gửi một báo cáo lỗi, bởi vì nó gây nhầm lẫn gần như tất cả mọi người tôi biết.

Vấn đề là hướng dẫn cho bạn biết để tạo điều khiển từ xa sử dụng giao thức https, thay vì giao thức git. Tôi thường sử dụng:

github_username=CodeGnome 
git remote add origin "[email protected]:${github_username}/${PWD##*/}.git" 
git push --tags --set-upstream origin master 

để điền một kho lưu trữ GitHub mới từ kho lưu trữ GitHub đã có từ trước.

+0

https://github.com/blog/1104-credential-caching-for-wrist-friendly-git-usage dường như họ đã viết một bài đăng trên blog về nó nhưng không đề cập đến việc thay thế các hướng dẫn –

+0

vì vậy hiện tại chúng ta phải nhập tên người dùng và mật khẩu mỗi lần (github nghĩ rằng thông minh http là tương lai vì vậy chúng ta nên sử dụng nó?)?nhưng lợi thế là, chúng tôi có thể đặt mỗi lần tên người dùng chúng tôi muốn hiện tại vì vậy chúng tôi không đẩy từ tài khoản github sai =) –

+2

@DanielRuf Nếu bạn sử dụng HTTP thông minh, bạn có thể sử dụng bộ nhớ cache thông tin xác thực trên Windows và OS X. Xem http: //stackoverflow.com/a/10962447/1301972. –

2

Với địa chỉ https, bạn có một tùy chọn (bên cạnh password caching):
Sử dụng một file _netrc, mà sẽ chứa tên truy cập và mật khẩu của bạn, trong HOME của bạn (hoặc một .netrc cho phiên bash).
Lưu ý rằng HOME không được xác định theo mặc định cho Windows.

machine github.com 
login <login_github> 
password <password_github> 

Xem thêm "Git - How to use .netrc file on windows to save user and password".

(tùy chọn khác ở "Syncing with github")

+1

Tôi giống như vậy, nhưng các tệp văn bản thuần túy có mật khẩu không có vẻ đặc biệt an toàn. Toàn bộ điều này có vẻ ngược lại. – Thufir

+1

@Thufir trong cửa hàng của tôi, chúng tôi giảm thiểu vấn đề "văn bản thuần túy" bằng cách giữ '% HOME%' được định nghĩa trên đĩa từ xa (ví dụ như "' Z: \ '"), đặt tệp '_netrc' ở đó. Và bạn vẫn có thể mã hóa nó nếu bạn muốn: http://stackoverflow.com/questions/5193643/netrc-netrc-alternative-to-curl/5193917#5193917 – VonC

3
git config --global credential.helper cache 
git config --global credential.helper 'cache --timeout=3600' 

bạn chỉ nhập tên truy cập và mật khẩu khi bạn đẩy đầu tiên của bạn, sau 3600s hoặc 1 giờ, bạn đẩy mà không cần username và password.

thời gian chờ bạn có thể đặt số của mình.

Các vấn đề liên quan