Làm cách nào để cập nhật mật khẩu cho Git?


567

Tôi đang sử dụng BitBucket với Xcode và Git để kiểm soát phiên bản và gần đây tôi đã thay đổi tất cả mật khẩu của mình ( cảm ơn Adobe! ).

Không có gì đáng ngạc nhiên, tôi không còn có thể đẩy các cam kết cục bộ của mình vào kho lưu trữ của mình trên BitBucket ( Authentication failed for 'https://______.git'), nhưng tôi quên cách cập nhật mật khẩu được lưu trong bộ nhớ cache trên iMac. Bằng cách nào đó tôi đã không thể tìm thấy nó trên Google hoặc Stack Overflow, mặc dù đối với tôi nó có vẻ khá đơn giản ...


5
Nó có thể được lưu trữ trong móc khóa OS X của bạn (kho lưu trữ mật khẩu)
knittl

2
Có thể trong tệp .git / config của bạn, nếu tên người dùng / mật khẩu của bạn chỉ được lưu trữ với url git.
Erik Kerber

Câu trả lời:


869

Để sửa lỗi này trên macOS, bạn có thể sử dụng

git config --global credential.helper osxkeychain

Một dấu nhắc tên người dùng và mật khẩu sẽ xuất hiện với hành động Git tiếp theo của bạn (kéo, sao chép, đẩy, v.v.).

Đối với Windows, đó là cùng một lệnh với một đối số khác nhau:

git config --global credential.helper wincred

45
Trên Mac OS 10.12.2 và khi tôi thực hiện các thao tác trên - đã kiểm tra và kiểm tra kỹ xem tôi đã nhập đúng chưa - và không có gì xảy ra.
b_dubb

59
@b_dubb Nó có thể không làm gì cho đến khi bạn tiếp cận (đẩy, kéo, tìm nạp) thì bạn sẽ được nhắc nhập thông tin đăng nhập.
dùng2782001

3
@ user2782001 Tôi đang sử dụng trình trợ giúp osxkeychain, chạy lệnh mac không làm gì cả. Tôi nghi ngờ rằng nếu ai đó không sử dụng trình trợ giúp trước đó, thay đổi cấu hình để sử dụng trình trợ giúp, thì sẽ thấy mật khẩu không được nhập cho điều khiển từ xa đó, nó sẽ nhắc và lần đầu tiên mọi thứ sẽ ổn. Những thay đổi sau đó của cấu hình sẽ không nhắc nhở. Câu trả lời dưới đây làm việc cho tôi.
thần kinh

102
Không hoạt động trên windows. Không nhắc mật khẩu mới
đĩalosr

8
Nó hoạt động trên Mac OS Mojave. Cảm ơn!
Nguyễn Trần

509

Không có câu trả lời nào khác phù hợp với tôi trên MacOS Sierra 10.12.4

Đây là những gì tôi đã phải làm:

git config --global --unset user.password

Sau đó chạy lệnh git của bạn (ví dụ: git đẩy) và nhập lại tên người dùng và mật khẩu của bạn.


40
Đây là phương pháp phù hợp với tôi (trên mac)
shdobxr

1
Điều này đã cứu tôi! Tôi đã lưu trữ nó trong trình soạn thảo, nhưng nó cũng đang tạo một auth.json gây khó chịu vì tôi luôn quên thêm nó vào .gitignore.
cbloss793

1
Cảm ơn bạn đã làm việc! trước đó nó đã nhắc tôi nhập mật khẩu nhưng mặc dù tôi đã nhập mật khẩu mới nhưng vẫn thất bại.
Paul Taylor

6
Điều này không làm gì cho tôi trên Windows. Sau lệnh này, tôi đã cố gắng đẩy và nó đã thành công, vì vậy mật khẩu vẫn có sẵn cho git
độc lập

1
Đã làm việc trên Win10. Đầu tiên tôi sử dụng lệnh từ câu trả lời này và sau đó đơn giản git pull- Cửa sổ bật lên Windows xuất hiện nhắc nhở nhập mật khẩu. Cảm ơn!
shemekh

431

Trong Windows 10 với Git

Xóa / cập nhật Thông tin liên quan được lưu trữ trong Thông tin xác thực của Windows trong >> Bảng điều khiển \ Tất cả các mục trong Bảng điều khiển \ Trình quản lý xác thực

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


9
Đây thực sự là cách. Đối với người dùng phải làm việc với phiên bản HĐH tiếng Hà Lan: thông tin đăng nhập ---> người giới thiệu
dexter

10
Đây là giải pháp đơn giản nhất. Tất cả bạn cần làm là chỉnh sửa. Cảm ơn.
yuva

4
Btw, đường dẫn cho tôi là Bảng điều khiển \ Tài khoản người dùng \ Trình quản lý xác thực nhưng tốt nhất là nhập Thông tin xác thực để nhảy ngay vào.
Bắt đầu từ

1
Cảm ơn rất nhiều! Cứu lấy ngày của tôi.
Dhaval Patel

2
Nó cũng hoạt động trên Windows 7. Cảm ơn :)
Vladislav

164

Cách duy nhất tôi có thể sửa đổi mật khẩu git của mình là vào Trình quản lý thông tin xác thực trong Windows (Windows Key + gõ 'chứng chỉ') và chỉnh sửa mục nhập git trong Thông tin xác thực của Windows Cred Thông tin chung. Lưu ý: Không được liệt kê theo thứ tự abc


5
Câu hỏi đã được hỏi về macOS
Saikat

14
@Saikat và chưa hết, nhiều người trong chúng ta có cùng một câu hỏi cho các cửa sổ cuối cùng đã tìm thấy câu hỏi SO này. Gần như là chính câu hỏi trong khi macos được gắn thẻ không phải là hệ điều hành cụ thể!
iheanyi

1
Đây là câu trả lời duy nhất có hiệu quả với tôi trên Win 10
Kolob Canyon

87

Tôi có cùng một vấn đề và câu trả lời được chấp nhận không giúp tôi vì mật khẩu không được lưu trong móc khóa. Tôi gõ:

git pull https://myuser@bitbucket.org/mypath/myrepo.git

Sau đó giao diện điều khiển hỏi tôi mật khẩu mới của tôi.


1
Tôi đã thử như thế này nhưng vẫn hiển thị thông tin xác thực, thay vì đặt lại mật khẩu
Anita Mehta

Nó làm việc cho tôi, nhưng tôi phải thiết lập lại captcha trước. Cảm ơn bạn.
fiskra

77

Trong windows 10 được đề cập ở trên bởi @Imran Javed, bạn có thể tìm thấy Thông tin chung tại:

Bảng điều khiển \ Tất cả các mục trong Bảng điều khiển \ Trình quản lý xác thực -> Thông tin xác thực Windows

cho máy chủ git của bạn và sau đó bạn có thể cập nhật mật khẩu bằng cách nhấp vào nút chỉnh sửa.

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


@halxinate bạn sử dụng hệ điều hành nào? Cái này dành cho windows 10.
nzrytmn

31

chạy git config --global --unset user.passwordtheo bất kỳ lệnh git nào sẽ nhắc bạn nhập tên người dùng và mật khẩu.

git config --global --unset user.password
git push (will prompt you for the password)
git status (will not prompt for password again)

9
Vâng, gọi lệnh git đẩy (hoặc kéo) chỉ cho tôi lỗi xác thực và truy cập bị từ chối. Không nhắc tôi
John Demetriou

Câu trả lời này không bao gồm bất cứ điều gì không được Derek's bao trả.
Bonifacio2

26

Trong máy Windows của tôi, tôi đã thử giải pháp @nzrytmn tức là Bảng điều khiển> Thông tin tìm kiếm> Chọn "ManageCredentials"> thông tin đăng nhập mới được sửa đổi trong danh mục tùy chọn git tương ứng với tên người dùng của tôi. Và sau đó,

Đã xóa mật khẩu hiện tại:

git config --global --unset user.password

Đã thêm mật khẩu mới:

git config --global --add user.password "new_password"

Và nó làm việc cho tôi.


Không làm việc cho tôi. Tôi đã giải quyết vấn đề như mô tả ở đây: cmatskas.com/how-to-update-your-git-credentials-on-windows
Vlad

KHÔNG LÀM VIỆC DEAR, TRIED TWICE
Kam Meat

18

Nếu bạn là người dùng MAC thì bạn có thể mở Ứng dụng truy cập KeyChain từ công cụ tìm và sau đó tìm tài khoản của bạn được liệt kê ở đó. Chỉ cần nhấp vào nó và cập nhật mật khẩu của bạn. Bây giờ hãy thử và mọi thứ sẽ rơi vào vị trí.

liên kết để tham khảo: Cập nhật thông tin đăng nhập của bạn thông qua Keychain Access

Đã làm cho tôi. :)


1
Đây là những gì làm việc cho tôi! Nó cho phép chúng tôi cập nhật mật khẩu từ một repo. Một số gợi ý khác trên trang này sẽ ảnh hưởng đến mọi thứ mà git chạm vào.
Stefan Lasiewski

13

Tôi đã đẩy vào kho lưu trữ lần đầu tiên. Vì vậy, không có HEADđịnh nghĩa.

Cách dễ nhất sẽ là:

git push -u origin master

Sau đó, nó sẽ nhắc nhập mật khẩu và khi bạn nhập mật khẩu đó sẽ được lưu tự động và bạn sẽ có thể đẩy.


Nếu tôi đẩy từ cục bộ đến máy chủ từ xa thì tôi phải sử dụng mật khẩu nào? Đây có phải là mật khẩu thông tin máy chủ từ xa của tôi hoặc khác?
Fawwad

@Fawwad Đó là mật khẩu cho kho lưu trữ từ xa.
Pritam Banerjee

3
Máy chủ từ xa của tôi không phải là github.com. Đây là máy chủ chuyên dụng của tôi, nơi tôi đã cài đặt Git.
Fawwad

Tôi hiểu làm thế nào điều này sẽ giúp bạn đẩy lần đầu tiên, nhưng làm thế nào điều này sẽ giúp cập nhật mật khẩu đã lưu.
timwaagh

@Fawwad không quan trọng bạn đang sử dụng cái gì. Bạn vẫn cần cung cấp thông tin đăng nhập cung cấp quyền truy cập ghi vào kho lưu trữ mà bạn muốn viết.
iheanyi

8

thực hiện các bước này trong Terminal:

  1. Xóa mật khẩu hiện tại được lưu trong máy Mac của bạn

    git config --global --unset user.password
    
  2. Thêm mật khẩu mới của bạn bằng cách sử dụng lệnh này, thay thế bằng mật khẩu mới của bạn:

    git config --global --add user.password <new_pass>
    

4
Bằng cách này, mật khẩu của bạn sẽ được lưu trong lịch sử và bất kỳ ai chạy lệnh lịch sử đều có thể xem nó dưới dạng văn bản thuần túy. Để ngăn chặn nó, bạn có thể thêm một khoảng
trắng

8

Nếu thông tin đăng nhập của bạn được lưu trong trình trợ giúp thông tin xác thực, cách di động để xóa mật khẩu vẫn tồn tại cho một máy chủ cụ thể là gọi git credential reject:

$ git credential reject
protocol=https
host=bitbucket.org
⏎

hoặc là

$ git credential reject
url=https://bitbucket.org
⏎

Sau đó, để nhập mật khẩu mới của bạn, gõ git fetch.


2
cảnh báo: dòng thông tin không hợp lệ :? gây tử vong: không thể đọc thông tin xác thực từ stdin
pinei

7

Có một sự nhầm lẫn như vậy đối với câu hỏi này, vì có quá nhiều sự phức tạp trong câu hỏi này. MacOS đầu tiên so với Win10. Sau đó, các cơ chế auth khác nhau.

Tôi sẽ bắt đầu một câu trả lời tổng hợp ở đây và có lẽ cần một số trợ giúp, nếu tôi không nhận được sự giúp đỡ, tôi sẽ tiếp tục trả lời cho đến khi hoàn thành, nhưng điều đó sẽ mất thời gian.

Windows 10: | | -

MacOS: | |-- Using git config to store username and password: | git config --global --add user.password | |---- first time entry | git config --global --add user.password <new_pass> | |---- password update | git config --global --unset user.password | git config --global --add user.password <new_pass> | |-- Using keychain: | git config --global credential.helper osxkeychain | |---- first time entry | Terminal will ask you for the username and password. Just enter it, it will be | stored in keychain from then on. | |---- password update | Open keychain, delete the entry for the repository you are trying to use. | (git remote -v will show you) | On next use of git push or something that needs permissions, git will ask for | the credentials, as it can not find them in the keychain anymore.


Nó hoạt động. Chạy <git config --global --unset user.password> sau đó <git push origin master> sẽ hỏi tên người dùng và mật khẩu. Cảm ơn.
Renhuai

5

bạn có thể thay đổi mật khẩu thông qua dòng lệnh ở 2 nơi, sau đây sẽ chỉnh sửa thông tin đăng nhập để kết nối repo

git config --edit 

Thông tin đăng nhập cũng có thể được thay đổi trên toàn cầu bằng cách sử dụng tham số toàn cầu như bên dưới

 git config --global --add user.password "XXXX"

hoặc đặt trình trợ giúp thông tin đăng nhập với

git config --global credential.helper wincred

nhưng nếu bạn có thông tin xác thực cấp repo, hãy sử dụng lệnh đầu tiên

git config --edit

5

Dành cho máy Mac

Nếu bạn có nhiều kho lưu trữ từ xa (Github, Bitbucket, Công việc, v.v.)

1) chạy trong thư mục dự án

git config --unset user.password

2) chạy lệnh git từ xa (ví dụ: git đẩy hoặc git pull)

Git sẽ nhắc bạn nhập lại user.name và user.password cho kho lưu trữ này

Hoặc bạn có thể làm điều đó trên toàn cầu nếu bạn chỉ có một kho lưu trữ từ xa

git config --global --unset user.password

4

Nếu bạn đang sử dụng github và đã bật xác thực 2 yếu tố, bạn cần nhập mã thông báo truy cập cá nhân thay vì mật khẩu của bạn

Đầu tiên đặt lại mật khẩu của bạn:

git config --global --unset user.password

Sau đó, đăng nhập vào tài khoản github của bạn, ở góc bên phải, nhấp vào Cài đặt, sau đó Cài đặt dành cho nhà phát triển. Tạo mã thông báo truy cập cá nhân. Sao chép nó.

git push

Thiết bị đầu cuối sẽ nhắc bạn cho tên người dùng của bạn: nhập địa chỉ email của bạn.

Tại dấu nhắc mật khẩu, thay vào đó hãy nhập mã thông báo truy cập cá nhân.


2

Tôi sẽ cố gắng xóa tài khoản của mình trong Keychain Access và sau đó chạy git clonelại. Git sẽ hỏi tôi mật khẩu mới.


Đây là những gì tôi đã chọn để làm. Tôi đã có nhiều tài khoản github được lưu trữ trong Keychain. Tôi đã chọn xóa tất cả. Đẩy thành công chi nhánh địa phương của tôi.
Huấn luyện viên Roebuck

1
không phải là một câu trả lời tốt Tái bản sao là quá nhiều cho nhiệm vụ đơn giản này
Kolob Canyon

2

Đã thử tất cả mọi thứ nhưng không có gì làm việc. Sau đó, đã làm việc sau đây.

  1. Trước bất kỳ bước nào ở trên, hãy khóa và mở khóa móc khóa một lần nữa vì đôi khi nó bị kẹt.
  2. Cài đặt GitHub Desktop - nó giúp.

Làm thế nào để bạn làm điều đó?
Shekhar Sahu

2

Đối với những người đang tìm cách thiết lập lại quyền truy cập vào kho lưu trữ. Bằng ví dụ của GitHub. Bạn có thể thay đổi mật khẩu hồ sơ GitHub của mình và thu hồi tất cả "Mã thông báo truy cập cá nhân" trong "Cài đặt -> Cài đặt dành cho nhà phát triển" trong hồ sơ của bạn. Ngoài ra, bạn có thể tùy ý xóa tất cả các khóa SSH / PGP và các ứng dụng OAuth / GitHub để đảm bảo rằng quyền truy cập vào kho lưu trữ bị chặn hoàn toàn. Do đó, tất cả các trình quản lý thông tin xác thực, trên bất kỳ hệ thống nào sẽ không được ủy quyền và nhắc bạn nhập thông tin đăng nhập mới.


2

Các bước sau có thể giải quyết vấn đề .....

  1. Chuyển đến thư mục ~ / Thư viện / Hỗ trợ ứng dụng / SourceTree
  2. Xóa tệp {Username Bolog@STAuth-bitbucket.org
  3. Khởi động lại Sourcetree
  4. Hãy thử tìm nạp, mật khẩu được gửi xuất hiện, cung cấp mật khẩu mới của bạn
  5. Cũng có thể chạy lệnh "git fetch" trong terminal và cần nhập mật khẩu
  6. Làm xong

2

Chỉ cần sao chép một trong các repos hiện có của bạn, điều này sẽ nhắc bạn về thông tin đăng nhập mới:
vd

git clone https://myuser@bitbucket.org/mypath/myrepo.git

// https: //myuser@bitbucket.org/mypath/myrepo.git là một địa chỉ của một trong những repos hiện có của bạn.


1

Trong bài viết này , họ giải thích nó một cách rất dễ dàng nhưng về cơ bản, chúng tôi chỉ cần thực thi git remote set-url origin "https://<yourUserName>@bitbucket.org/<yourRepo>"và lần sau khi bạn làm một git pullhoặc git pushbạn sẽ phải đặt mật khẩu của mình.


1

mật khẩu của tôi rất tốt trong tùy chọn máy tính để bàn của github nhưng sai trong tệp .git / config

Đối với tôi, giải pháp làm việc duy nhất là chỉnh sửa tệp theo cách thủ công: .git / config

có chứa dòng này: url = https: // user: password@github.com/user/repo.git

đổi mật khẩu thành mật khẩu TỐT vì nó là mật khẩu cũ đối với tôi


0

Nếu các giải pháp trên không hoạt động, hãy thử thay đổi url git của bạn.

git từ xa -v

git nguồn gốc set-url từ xa


0

Tôi đã có thể thay đổi mật khẩu git của mình bằng cách đi tới Trình quản lý thông tin xác thực trong Windows và xóa tất cả các mục git trong Thông tin xác thực Windows Cred Thông tin chung.

Khi thực hiện thao tác kéo git hoặc git đẩy, windows sẽ yêu cầu người dùng / mật khẩu mới.


0

Đối với người dùng MAC, sử dụng GUI git ( Hoạt động cho Sourcetree , cũng có thể hoạt động cho người khác). Muốn thêm một nhận xét nhỏ vào câu trả lời của Derek ( https://stackoverflow.com/a/45703718/7138492 ). Gợi ý ban đầu:

$ git config --global --unset user.password

nên được theo sau bởi một lần đẩy / kéo / tìm nạp NHƯNG nó có thể không hoạt động khi được thực hiện từ GUI. Trường hợp làm việc% 100 sẽ là để thực hiện lệnh git kích hoạt nhanh chóng liên tiếp đầu tiên từ bàn điều khiển. Đây là một ví dụ:

  1. Xác định vị trí thư mục gốc kho git của bạn
  2. Gõ vào $ git config --unset user.password
  3. Tiếp tục với một lời khen ngợi về sự lựa chọn của bạn trong thiết bị đầu cuối, ví dụ: $ git push

Sau đó, nó sẽ yêu cầu bạn cung cấp mật khẩu mới.


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.