Tôi gặp sự cố với git và thiết bị đầu cuối của mình.
Đây là thư viện để hiển thị cho bạn vấn đề của tôi: http://imgur.com/a/6RrEY
Khi tôi đẩy các cam kết từ thiết bị đầu cuối của mình, git nói rằng tôi đẩy chúng bằng một tên người dùng khác, đó là người dùng từ tổ chức của tôi (công ty của tôi) mà không có cam kết nào cả và có vẻ như nó không thuộc về ai: (kiểm tra ảnh đầu tiên của thư viện)
Nhưng điều này không xảy ra khi tôi sử dụng Github cho mac, trong nguồn cấp dữ liệu, tôi thấy các cam kết do chính tôi đẩy.
Vấn đề cũng ảnh hưởng đến kho lưu trữ cá nhân của tôi, thiết bị đầu cuối của tôi nói rằng tôi không có quyền đẩy các cam kết trên các kho lưu trữ đó (rõ ràng là sai) vì nó cố gắng đẩy nó với người dùng này: (kiểm tra bức ảnh thứ hai của thư viện)
Đoán xem nào? Điều này cũng không xảy ra với Github cho mac.
Tôi đã thay đổi máy tính của mình thành một thương hiệu mới một vài ngày trước, vì vậy tôi đã đặt lại tất cả khóa ssh của github và chỉ để lại một khóa mới do Github dành cho Mac tạo nên tôi không nghĩ rằng có một số người dùng ma / khóa ssh bị ẩn. ở đâu đó, hdd này là thương hiệu mới: (kiểm tra bức ảnh thứ ba của thư viện)
Tệp .gitconfig của tôi đã rõ ràng, chỉ có thông tin đăng nhập của tôi: (kiểm tra hình thứ tư của thư viện)
Tôi thực sự không hiểu, giúp đỡ, StackOverflow, bạn là hy vọng duy nhất của tôi.
(Tôi xin lỗi vì kỹ năng Gimp kém của tôi và tài liệu tham khảo Chiến tranh giữa các vì sao)
BIÊN TẬP : ssh-add -l
chỉ hiển thị khóa ssh tốt do github tạo cho mac và tôi chỉ có một tài khoản github
EDIT2: ssh -T git@github.com
công nhận tôi là người dùng tốt.
CHỈNH SỬA3: Sau một vài thử nghiệm, có vẻ như thiết bị đầu cuối của tôi thực hiện cam kết với tên người dùng của tôi, nhưng đẩy chúng bằng tên người dùng khác, Github dành cho mac cam kết và đẩy với tên người dùng tốt. Tình huống này xảy ra với mọi repo tôi có / tạo những cái).
EDIT4: Trong kho lưu trữ cá nhân git log --pretty="%h %an %ae"
hiển thị tên người dùng tốt của tôi
EDIT5: Không có dấu hiệu của các biến môi trường sẽ ghi đè thông tin đăng nhập của tôi trong của tôi env
. Ngay cả khi tôi cố gắng đặt các biến đó với vấn đề thông tin xác thực tốt vẫn tồn tại.
EDIT6: Mọi thứ hoạt động trở lại bình thường nếu tôi buộc người dùng vào đường dẫn của /.git/config
kho lưu trữ nhưng tôi không nghĩ đó là lựa chọn tốt:http://USER@github.com/USER/REPO.git
EDIT7: Chúng tôi đã xóa người dùng git đã đẩy các cam kết cho tôi và điều này gây ra một lỗi khác:remote: Invalid username or password. fatal: Authentication failed for 'https://github.com/USER/REPO.git/'
CHỈNH SỬA CUỐI CÙNG: Tôi đã cài đặt git với homebrew, đã nhập git config --global push.default simple
và bây giờ nó lấy thông tin đăng nhập của tôi ngay cả khi không bắt buộc người dùng. Thật là lạ. Cảm ơn mọi người đã giúp đỡ, các bạn là những chàng trai tuyệt vời!
~/.gitconfig
là rõ ràng và như vậy là $project_root/.git/config
. Trên thực tế, tôi gặp vấn đề này với mọi dự án cá nhân, các dự án công việc có thể được đẩy vì người dùng khác này thuộc tổ chức của tôi sở hữu các kho lưu trữ đó.
~/.gitconfig
và$project_root/.git/config
tập tin. Một trong hai cái đó chắc chắn bị định cấu hình sai cho tên người dùng.