Sau khi thay đổi mật khẩu GitHub, tôi không thể chuyển sang điều khiển từ xa:
$ git push origin master
remote: Invalid username or password.
Có chỉ tái sao chép kho lưu trữ không?
Sau khi thay đổi mật khẩu GitHub, tôi không thể chuyển sang điều khiển từ xa:
$ git push origin master
remote: Invalid username or password.
Có chỉ tái sao chép kho lưu trữ không?
Câu trả lời:
Nếu bạn chỉ thay đổi mật khẩu của điều khiển từ xa chứ không phải tên người dùng, thì hãy thử lệnh sau để kiểm tra thông tin của điều khiển từ xa: -
git từ xa hiển thị nguồn gốc
Thao tác này sẽ hỏi mật khẩu của bạn cho người dùng git đã cho, hãy điền chính xác và bây giờ hãy thử: -
git kéo
hoặc là,
git push
Nó sẽ hoạt động trừ khi bạn phải thay đổi những thứ khác như tên người dùng hoặc URL từ xa, bạn có thể xem tài liệu Git sau: -
https://help.github.com/articles/setting-your-username-in-git/
git remote show origin
cho thấy dấu nhắc
git remote show origin
không nhắc nhở tôi, nó chỉ gợi ý cho tôi, show
vì vậy tôi nghĩ rằng nó đã thất bại (tại những gì tôi cần nó làm). Nhưng, để đề phòng, tôi đã thử git push origin master
và điều đó đã thúc giục tôi. Vì vậy, ... tôi vẫn ở nơi tôi cần đến :)
Để cập nhật mật khẩu trong Terminal của bạn. Hãy thử lệnh dưới đây, nó sẽ nhắc bạn nhập lại mật khẩu.
git push -u origin master
Các kenu.heo OP đã làm việc xung quanh vấn đề này bằng cách loại bỏ, sau đó tái nhân bản repo.
Nhưng đối với khác:
Nó phụ thuộc vào hệ điều hành, phiên bản git và giao thức bạn đang sử dụng.
Tùy thuộc vào hệ điều hành, bạn có các cách để lưu trữ thông tin đăng nhập của mình ( OSX KeyChain trên Mac , trình trợ giúp thông tin xác thực netrc trên Windows hoặc Linux ) và điều đó có thể giải thích tại sao công cụ đẩy của bạn không hoạt động sau khi thay đổi mật khẩu GitHub.
Đối với chuỗi khóa, bạn sẽ cần đặt lại mật khẩu được lưu trữ trong đó .
Vấn đề mật khẩu đó cũng cho thấy rằng bạn đang sử dụng url https (không phải url ssh, điều này sẽ phụ thuộc vào các khóa ssh công khai / riêng tư và sẽ không bị ảnh hưởng bởi mật khẩu tài khoản GitHub, vì khóa SSH công khai được đăng ký vào tài khoản GitHub của bạn sẽ không thay đổi).
Kiểm tra điều đó bằng a git remote -v
.
Bạn có thể buộc git sử dụng thông tin đăng nhập GitHub của mình bằng:
git remote set-url origin https://Username@github.com/Username/MyRepo.git
(thay thế ' Username
' và ' MyRepo.git
' bằng các giá trị của riêng bạn)
Sau đó, thử lại để đẩy, nó sẽ yêu cầu mật khẩu GitHub của bạn. Nhập cái mới.
Nếu cách này không hiệu quả, hãy kiểm tra xem bạn đã kích hoạt 2FA (Xác thực 2 mẫu) hay chưa. Nếu đúng như vậy, bạn cần tạo PTA (Quyền truy cập mã thông báo cá nhân).
Xem thêm tại "Định cấu hình máy khách Git, như GitHub cho Windows, để không yêu cầu xác thực ".
git remote set-url origin https://github.com/shared_repo/shared_repo.git
làm việc cho tôi trên Windows từ Git Shell
Trên Hệ thống Windows, không có bước nào phù hợp với tôi, vấn đề là thông tin đăng nhập được lưu trữ trong Trình quản lý thông tin đăng nhập Windows.
Bạn có thể vào Control Panel -> User Accounts -> Credential Manager -> Windows Credentials
Trong Thông tin đăng nhập chung, bạn sẽ tìm thấy Url git của mình, mở rộng lựa chọn và nhấp vào chỉnh sửa.
Sau khi được chỉnh sửa, chỉ cần kích hoạt git push một lần nữa và nó sẽ hoạt động.
Nguồn thông tin: - Xóa thông tin đăng nhập khỏi Git
Từ những gì tôi đã trải nghiệm, bạn chỉ cần nhập lại trình bổ sung từ xa .
Và git sẽ hỏi usr / password cho cái mới thay vì giữ im lặng và sử dụng cái không dùng nữa.
xem điều khiển từ xa của bạn, xác định vị trí bạn muốn thay đổi
>git remote
github
gitcafe
company
ví dụ: nếu bạn đã thay đổi mật khẩu repo công ty của mình, bạn có thể làm:
>git remote remove company
Điều này sẽ không chạm vào thư mục của bạn , sẽ không chạm vào cam kết của bạn . Thao tác này chỉ xóa một chuỗi url khỏi git
Sau đó, thêm lại url này:
>git remote add company https://git.AyCramba.com/xxx.git
Đẩy tới nó:
>git push company master
username for 'https://git.AyCramba.com':
password for 'https://git.AyCramba.com':
Sau đó, nó bắt đầu đẩy
Hy vọng nó giúp.
git remote set-url
tôi đề cập đến trong câu trả lời của tôi hiện một remove + add.
Đối với tôi, chạy git trên Windows7 bằng git-bash, chạy:
git push origin master
Có nó hoạt động. Điều đó đã khiến Windows7 yêu cầu lại các khoản tín dụng git của tôi và sau đó lưu trữ chúng (bất kỳ Windows nào có), để cập nhật mật khẩu.
Ok, bài viết gốc khá cũ, nhưng đó là kết quả hàng đầu trên Google và không có câu trả lời nào phù hợp với tôi. Một số bài đăng SO và GH khác cũng không hoạt động. Đăng bài này để giúp bất cứ ai theo dõi tôi ở đây!
Tình huống của tôi hơi khác một chút: Tài khoản GH cá nhân, chuyển sang repo Công ty riêng, sử dụng SSH và dòng lệnh git trên Mac. Mật khẩu của tôi không được lưu trữ trong của tôi .gitconfig
cũng như trong bất kỳ chuỗi khóa nào cũng như trong git credential.helper
.
Trong ví dụ bên dưới PersonalName là tài khoản GH của tôi, CompanyName là công ty (chủ sở hữu của kho lưu trữ trên GH) và RepoName là kho lưu trữ.
Thông báo lỗi ban đầu của tôi cũng hơi khác: cố gắng git push origin master
dẫn đến
remote: Repository not found.
fatal: repository 'https://github.com/CompanyName/RepoName.git/' not found
Điều khiển từ xa đã hoạt động trước khi tôi thay đổi mật khẩu GH và tôi không muốn xóa điều khiển từ xa vì tôi cần phải thực hiện các thay đổi cục bộ.
Cuối cùng, một câu trả lời ngắn gọn cho câu hỏi này trên Diễn đàn Cộng đồng GitHub đã chỉ cho tôi đi đúng hướng. Điều quan trọng là liên kết tên tài khoản GH của tôi với repo từ xa (riêng tư).
Điều này đã làm việc cho tôi:
git remote set-url origin https://PersonalName@github.com/CompanyName/RepoName.git
Sau đó
git remote show origin
nhắc nhở với
Password for 'https://PersonalName@github.com':
Tôi đã có thể nhập mật khẩu mới của mình, xem chi tiết từ xa và git push origin master
đã thành công.
Nếu bạn đã thiết lập Github 2FA Auth, bạn cần mã thông báo truy cập cá nhân (thay cho mật khẩu github của bạn trong git cli), hãy làm theo hướng dẫn sau để tạo: https://help.github.com/en/github/authenticating-to -github / create-a-personal-access-token-for-the-command-line
Sau đó, làm một cái gì đó như
git tổng thể thanh toán
git pull origin <--- Tại thời điểm này, bạn sẽ được yêu cầu nhập thông tin đăng nhập của mình, nhập người dùng github bình thường của bạn và làm mật khẩu dán mã thông báo được tạo trong liên kết ở trên.