TortoiseGit lưu xác thực / thông tin xác thực người dùng


286

Có cách nào để tiết kiệm GITHUB's user credentialsvới TortoiseGit không?

Nó nhắc tôi hộp thoại bên dưới mỗi khi tôi thực hiện thao tác đẩy / kéo.

Tôi muốn lưu thông tin xác thực người dùng của mình ở đâu đó như cách tôi đã làm với TortoiseSVN.

nhập mô tả hình ảnh ở đây



Bạn cũng có thể sử dụng Trình quản lý thông tin xác thực để lưu / quản lý thông tin đăng nhập. stackoverflow.com/a/31782500/730676
user730676

Câu trả lời:


351

Đối với TortoiseGit 1.8.1.2 trở lên, có GUI để bật / tắt trình trợ giúp thông tin xác thực.

Nó hỗ trợ git-credential-wincredgit-credential-winstore.

TortoiseGit 1.8.16 thêm hỗ trợ cho git-credential-manager(Trình quản lý thông tin Git, người kế thừa của git-credential-winstore)

Lần đầu tiên bạn đồng bộ hóa bạn được yêu cầu người dùng và mật khẩu, bạn nhập chúng và chúng sẽ được lưu vào kho thông tin Windows. Nó sẽ không yêu cầu người dùng hoặc mật khẩu vào lần tiếp theo bạn đồng bộ hóa.

Để sử dụng: Nhấp chuột phải → TortoiseGit → Cài đặt → Git → Thông tin xác thực. Chọn Trình trợ giúp xác thực: wincred - kho lưu trữ này chỉ / wincred - người dùng Windows hiện tại

nhập mô tả hình ảnh ở đây


40
Khéo léo. Bây giờ làm thế nào để tôi sử dụng nó?
BlueRaja - Daniel Pflughoeft

16
Nhấp chuột phải -> TortoiseGit -> Cài đặt -> Git -> Thông tin xác thực. Chọn Người trợ giúp đáng tin wincred - this repository onlywincred - current Windows user
cậy

33
Không, bạn phải kích hoạt trình trợ giúp thông tin trước. Lần đầu tiên bạn đồng bộ hóa bạn được yêu cầu người dùng và mật khẩu, bạn nhập chúng và chúng sẽ được lưu vào kho thông tin Windows. Nó sẽ không yêu cầu người dùng hoặc mật khẩu vào lần tiếp theo bạn đồng bộ hóa.
xếp hàng

7
Lưu ý: điều này sẽ không hoạt động nếu tên người dùng của bạn có chứa @! Ít nhất là đối với tôi, đây cũng là một lỗi được báo cáo: github.com/msysgit/msysgit/issues/258
OschtärEi

5
Đối với TortoiseGit 1.8.16 trở lên, hãy cài đặt Trình quản lý thông tin Git cho Windows - github.com/Microsoft/Git-Credential-Manager-for-Windows - và sau đó làm theo hướng dẫn ở trên. GCM cũng xử lý các khoản tín dụng cho git trong Cygwin / babun, điều này thật tuyệt.
DrStrangepork

68

Nếu bạn định downvote câu trả lời này

Tôi đã viết điều này một vài tháng trước khi đưa thông tin git vào TortoiseGit. Với số lượng lỗ hổng bảo mật lớn được tìm thấy trong vài năm qua và tôi đã học được bao nhiêu về bảo mật mạng, tôi rất khuyến nghị bạn nên sử dụng khóa SSH duy nhất (tối thiểu 2048 bit) cho mọi máy chủ mà bạn kết nối.

Cú pháp dưới đây vẫn có sẵn, mặc dù ngày nay có nhiều công cụ tốt hơn như thế git-credentialmà câu trả lời được chấp nhận cho bạn biết cách sử dụng. Làm điều đó thay vào đó.


Hãy thử thay đổi URL từ xa đến https://username@github.com/username/repo.gitnơi usernamelà tên người dùng github của bạn và repolà tên của kho lưu trữ của bạn.

Nếu bạn cũng muốn lưu trữ mật khẩu của mình (không được khuyến nghị), URL sẽ trông như thế này : https://username:password@github.com/username/repo.git.

Ngoài ra còn có một cách khác để lưu trữ mật khẩu từ bài viết trợ giúp của github này: https://help.github.com/articles/set-up-git#password-caching


Tôi có thể thấy url từ xa ở đâu? Trong Cài đặt -> Từ xa -> Url trống. Nhưng tôi đã cho url git khi tôi sao chép lần đầu tiên
Murali Murugesan

2
Nhấp vào "nguồn gốc" trong menu Từ xa để hiển thị URL
Robert Rouhani

Tôi nghĩ rằng nó đang hoạt động, nhưng không thể xác minh vì tôi đang nhận được 'git đã không thoát ra một cách sạch sẽ (mã thoát 128)'
Murali Murugesan

Rất tiếc, đã rút URL từ một ví dụ cũ. Nhìn nhanh vào một trong những repos của tôi cho thấy URL thực sự phải là: https://username@github.com/username/repo.gittrong đó cả hai trường hợp usernamelà tên người dùng của bạn. Cập nhật câu trả lời.
Robert Rouhani

1
Điều này đã giải quyết vấn đề nhanh hơn nhiều và theo cách đơn giản hơn: stackoverflow.com/questions/8846972/tortoisegit-asking-password
ShloEmi

25

Không có câu trả lời nào ở trên làm việc cho tôi khi sử dụng git phiên bản 1.8.3.msysgit.0 và TortoiseGit 1.8.4.0.

Trong tình huống cụ thể của tôi, tôi phải kết nối với repo git từ xa qua HTTPS, sử dụng địa chỉ e-mail đầy đủ làm tên người dùng. Trong tình huống này, wincredđã không xuất hiện để làm việc.

Sử dụng địa chỉ email làm một phần của URL repo cũng không hoạt động, vì phần mềm dường như bị nhầm lẫn bởi sự xuất hiện kép của ký tự '@' trong URL.

Tôi đã quản lý để khắc phục vấn đề bằng cách sử dụng winstore. Đây là những gì tôi đã làm:

Điều này sẽ sao chép git-credential-winstore.exevào một thư mục địa phương và thêm hai dòng vào toàn cầu của bạn .gitconfig. Bạn có thể xác minh điều này bằng cách kiểm tra toàn cầu của bạn .gitconfig. Điều này được thực hiện dễ dàng nhất thông qua nút chuột phải trên một thư mục, "TortoiseGit> Cài đặt> Git> Chỉnh sửa toàn cầu .gitconfig". Tệp phải chứa hai dòng như:

    [credential]
        helper = !'C:\\Users\\yourlogin\\AppData\\Roaming\\GitCredStore\\git-credential-winstore.exe'
  • Không cần cài đặt TortoiseGit nào khác trong "Mạng" hoặc "Thông tin xác thực". Cụ thể: trình đơn kéo xuống "Trình trợ giúp xác thực" trong "Thông tin xác thực" sẽ bị trống do các dòng cấu hình này, do TortoiseGit không nhận ra trình trợ giúp mới. Không đặt menu kéo xuống thành giá trị khác hoặc .gitconfig toàn cầu sẽ bị ghi đè bằng giá trị không chính xác! (*)

Bây giờ bạn đã sẵn sàng để đi:

  • Cố gắng kéo từ kho lưu trữ từ xa. Bạn sẽ nhận thấy một cửa sổ bật lên xác thực hỏi tên người dùng và mật khẩu của bạn, cửa sổ bật lên phải khác biệt với cửa sổ bật lên TortoiseGit mặc định. Đây là một dấu hiệu tốt và có nghĩa là winstorecông trình. Nhập xác thực chính xác và kéo sẽ thành công.
  • Hãy thử lại lần nữa và tên người dùng và mật khẩu của bạn sẽ không còn được yêu cầu nữa.

Làm xong! Tận hưởng các tương tác của bạn với repo từ xa trong khi winstorechăm sóc xác thực.

(*) Ngoài ra, nếu bạn không thích lựa chọn trống trong trình đơn kéo xuống trình trợ giúp Cài đặt Thông tin Rùa, bạn có thể sử dụng tùy chọn "Nâng cao":

  • Chuyển đến "TortoiseGit> Cài đặt> Thông tin xác thực"
  • Chọn Trình trợ giúp xác thực "Nâng cao"
  • Nhấp vào "G" (dành cho toàn cầu) bên dưới Người trợ giúp
  • Nhập đường dẫn Helper như bên dưới. Lưu ý: ký hiệu đường dẫn Windows thông thường (ví dụ: "C: \ Users ...") sẽ không hoạt động ở đây, bạn phải sao chép dòng chính xác mà cài đặt winstoređược tạo trong toàn cầu .gitconfmà không có bit "helper =".

    !'C:\\Users\\yourlogin\\AppData\\Roaming\\GitCredStore\\git-credential-winstore.exe'
    
  • Nhấp vào nút "Thêm mới / Lưu"


Bạn chỉ cho tôi đi đúng hướng. Chỉ cần sử dụng "wincred - người dùng Windows hiện tại" và nhập tên người dùng KHÔNG phải địa chỉ email. Điều đó đã giải quyết mọi thứ.
Razze

Tôi rất vui vì nó đã giúp bạn đi đúng hướng! Tuy nhiên, điểm trong trường hợp của tôi phải làm chính xác với việc sử dụng địa chỉ email. Điều này có chứa "@" và sẽ gây ra vấn đề nếu bạn thử một trong những công thức nấu ăn khác.
Patrick Atoon 17/08/2015

2
Ừm,% 40 là mã cho '@' vì vậy nếu bạn đã thử ' myEmail%40gmail.com@github.com/username/repo.git ', bạn sẽ có thể đặt địa chỉ email của mình vào .config Vẫn không được đề xuất nhưng, điều đó là có thể.
Tom Padilla

Đây là cách chính xác, đúng đắn để làm điều này. Tải xuống trình cài đặt từ Microsoft / Git-Credential-Manager-for-Windows / phát hành , sau đó nhấp chuột phải vào setup.exetệp và chạy với tư cách quản trị viên.

8

Đối với msysgit 1.8.0, tải xuống git-cert-wincred.exe từ https://github.com/doads/msysgit/git/git-credential-wincred.zip và đưa vào C: \ Tệp chương trình \ Git \ libexec \ git -cốt lõi

Đối với msysgit 1.8.1 trở lên, exe được tích hợp sẵn.

trong cấu hình git, thêm các cài đặt sau.

[thông tin] helper = wincred


Bạn đã tìm thấy Rùa Git 1.8.1.2 ở đâu? Tôi chỉ thấy 1.8.1.0 trên trang web của họ
Ken Sykora

TortoiseGit 1.8.1.2 là bản phát hành Preview.
xếp hàng

8

Lưu tên người dùng và mật khẩu với TortoiseGit

Lưu chi tiết đăng nhập của bạn trong TortoiseGit khá dễ dàng. Lưu phải nhập tên người dùng và mật khẩu của bạn mỗi khi bạn thực hiện thao tác kéo hoặc đẩy.

  1. Tạo một tệp có tên _netrc với nội dung sau:

    máy github.com
    đăng nhập
    mật khẩu yourlogin mật khẩu của bạn

  2. Sao chép tệp vào C: \ Users \ (hoặc một vị trí khác; đây chỉ là nơi tôi đã đặt nó)

  3. Đi tới dấu nhắc lệnh, nhập setx home C: \ Users \

Lưu ý: nếu bạn đang sử dụng một cái gì đó sớm hơn Windows 7, lệnh setx có thể không hoạt động cho bạn. Thay vào đó, hãy sử dụng thiết lập và thêm biến môi trường gia đình vào Windows bằng cách sử dụng Cài đặt nâng cao trong Máy tính của tôi.

TÍN DỤNG ĐẾN: http://www.munsplace.com/blog/2012/07/27/saving-username-and-password-with-tortoisegit/


2
Đó là một giải pháp tốt nhất! Nhưng bạn có thể giải thích mối quan hệ giữa tệp _netrc và git không? Tập tin này có thể lưu trữ nhiều hơn một lĩnh vực?
Alex Byrth


8

Nếu bạn là người dùng windows 10 + TortoiseGit 2.7:

  1. lần đầu tiên đăng nhập, chỉ cần làm theo lời nhắc để nhập thông tin đăng nhập của bạn và lưu mật khẩu.
  2. Nếu bạn cần cập nhật thông tin đăng nhập của mình, đừng lãng phí thời gian của bạn tại cài đặt TortoiseGit. Thay vào đó, cửa sổ tìm kiếm> Trình quản lý xác thực> Thông tin xác thực Windows> tìm mục git của bạn> Chỉnh sửa.

Đây là câu trả lời bạn đang tìm kiếm, nếu bạn đã thay đổi mật khẩu Windows và xác thực Git không còn hoạt động nữa ... Trong Windows Đức, tìm kiếm "Anmeldeinformationsverwaltung".
Andre

omg cảm ơn tôi biết chúng ta không nên thêm ý kiến ​​với thankyou. nhưng CẢM ƠN !!
Stephen Hazel

6

Thử cái này:

  1. Đến thư mục repo của bạn
  2. Nhấp chuột phải vào không gian trống Tortise Git -> Cài đặt
  3. Có thông tin xác thực (thường nằm trong thanh bên trong Menu Git)
  4. Trong Trình trợ giúp thông tin xác thực, chọn Wincred, tất cả người dùng Windows
  5. Nhấn Áp dụng

Nó sẽ hỏi mật khẩu của bạn chỉ một lần.


Vui lòng sử dụng thuật ngữ "TortoiseGit".
Yue Lin Ho

0

Xem lại dự án, nhấp chuột phải -> 'Git Bash Here'

Trong các loại cửa sổ git bash

cd ~
pwd

tôi nhận được một cái gì đó như thế này

/c/Users/<windows_username>

Bây giờ sao chép khóa công khai và khóa riêng của bạn vào đường dẫn này

C:\Users\<windows_username>\.ssh

tôi đã nhận được các tập tin dưới đây

id_rsa
id_rsa.pub
known_hosts

đây

Bây giờ khi cần sử dụng thông tin đăng nhập, nó sẽ sử dụng các tệp này và nhắc nhập mật khẩu nếu cần.

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.