Định cấu hình người dùng và mật khẩu với Git Bash


96

Tôi đang sử dụng Git Bash trên Windows 7. Chúng tôi đang sử dụng GitHub làm nguồn gốc kho lưu trữ của chúng tôi.

Mỗi khi đẩy hoặc kéo, tôi phải cung cấp thông tin đăng nhập người dùng và mật khẩu. Tôi biết rằng các khóa SSH của mình được thiết lập đúng cách, nếu không tôi sẽ không thể truy cập vào kho lưu trữ. (Nghĩa là, khi tôi nhập thông tin đăng nhập của mình, push / pull hoạt động chính xác.)

Tôi đã nhập

git config --global user.name myusername
git config --global user.email myemail
git config --global github.user myusername
git config --global github.token mytoken

Nhưng dù sao tôi vẫn được yêu cầu cung cấp thông tin đăng nhập mỗi khi tôi ấn / kéo.


Câu trả lời:


64

Đảm bảo rằng bạn đang sử dụng URL SSH cho kho lưu trữ GitHub thay vì URL HTTPS. Nó sẽ yêu cầu tên người dùng và mật khẩu khi bạn đang sử dụng HTTPS chứ không phải SSH. Bạn có thể kiểm tra tệp .git/confighoặc chạy git config -ehoặc git remote show originđể xác minh URL và thay đổi nó nếu cần.


19
Tôi không thể sử dụng SSH vì các quy tắc tường lửa nội bộ (đừng hỏi ...) Có cách nào khác để cho phép git đăng nhập tự động không?
Jorn

62

Từ Git Bash, tôi thích chạy lệnh:

git config --global credential.helper wincred

Tại thời điểm đó, chạy một lệnh như git pullvà nhập thông tin đăng nhập của bạn một lần sẽ được lưu trữ để sử dụng trong tương lai. Git có hệ thống thông tin xác thực tích hợp hoạt động trong các môi trường hệ điều hành khác nhau. Bạn có thể biết thêm chi tiết tại đây: 7.14 Git Tools - Credential Storage


Có một giải pháp thay thế linux không, hoặc điều này cũng hoạt động cho Linux?
Bán hết

1
git config --global credential.helper cache help.github.com/en/github/using-git/…
Sam Sussman

Không có gì làm việc cho tôi. Tôi đã phát điên! Tôi đã cài đặt lại Git và thử điều này, và nó hoạt động như một sự quyến rũ. Cảm ơn!!!
LTV

Hoạt động từ bên trong bảng điều khiển win10 cmd
dimplex

49

Đối với những người đang sử dụng mã thông báo truy cập và môi trường Windows, có một cách đơn giản để làm điều đó:

Start menu → Credential ManagerWindows Credentials → tìm dòng (Git: https: // anything / your-repository / url) → chỉnh sửa, tên người dùng là "PersonalAccessToken" và mật khẩu là mã thông báo truy cập của bạn.


Thật là tiết kiệm thời gian! Cảm ơn!!
riorio

12

Nếu bạn là người dùng Mac và đã bật chuỗi khóa, bạn cần xóa thông tin ủy quyền được lưu trữ trong chuỗi khóa:

- Open up Keychain access
- Click "All items" under category in the left-hand column
- Search for git
- Delete all git entries.

Sau đó, bạn nên thay đổi tên người dùng và email của mình từ thiết bị đầu cuối bằng cách sử dụng git config:

$ git config --global user.name "Bob"

$ git config --global user.email "bob@example.com"

Bây giờ nếu bạn cố gắng đẩy vào kho lưu trữ, bạn sẽ được yêu cầu nhập tên người dùng và mật khẩu. Nhập thông tin đăng nhập mà bạn đang cố gắng chuyển sang. Sự cố này thường xuất hiện nếu bạn đăng nhập vào GitHub trên trình duyệt bằng tên người dùng và mật khẩu khác hoặc trước đó đã chuyển đổi tài khoản trên thiết bị đầu cuối của bạn.


Điều này đã giúp tôi. Mặc dù, không cần phải xóa các mục git, bạn có thể chỉnh sửa chúng ngay tại đó.
herrmartell

2

thêm điều khiển từ xa như:

git remote add https://username:password@github.com/repodir/myrepo.git

1

Hãy thử ssh-agent để cài đặt khóa SSH để sử dụng với Git. Nó sẽ tự động đăng nhập sau khi sử dụng cụm mật khẩu.


1

Với git bash cho Windows, sự kết hợp sau của các câu trả lời khác phù hợp với tôi (kho lưu trữ đã kiểm tra bằng ứng dụng khách GitHub, tức là https, không phải ssh):

  1. Tạo mã thông báo truy cập cá nhân
  2. Bắt đầu phiên bash git trong repo của bạn
  3. chạy git config --global credential.helper wincred
  4. chạy git pull
  5. cung cấp PersonalAccessToken làm tên người dùng
  6. cung cấp Mã truy cập cá nhân làm mật khẩu

0

Nếu repo của bạn là repo HTTPS, git config -e đưa ra lệnh này trong git bash. Cập nhật tên người dùng và mật khẩu bằng cách mở ở chế độ chèn, thay đổi mật khẩu hoặc tên người dùng bằng các phím: x và Cntrl + z, nó sẽ lưu và thoát

Vì vậy, từ đó khi bạn kéo / đẩy mã vào kho lưu trữ, nó sẽ không yêu cầu mật khẩu.


0

Tôi đã viết câu trả lời bên trong liên kết này ;

Tuy nhiên, tôi cũng đang chia sẻ nó ở đây.

Thay đổi tên người dùng và email trên toàn cầu

git config --global user.name "<username>"
git config --global user.email "<email>"

Thay đổi tên người dùng và email cho repo hiện tại

git config  user.name "<username>" --replace-all
git config  user.email "<email>" --replace-all
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.