2012-06-18 34 views
18

Trên github, tôi đã chia hai phiên bản cũ của một dự án khác. Tôi đã thực hiện một số thay đổi và đang cố gắng đẩy chúng vào ngã ba của tôi trên github. Tôi cam kết các thay đổi cục bộ, sau đó thử dùng git push, nhưng điều này đơn giản chỉ cho tôi biết "Mọi thứ cập nhật". Tuy nhiên, khi tôi duyệt dự án trên github, không có gì thay đổi: nó vẫn hiển thị các tệp (từ phiên bản mới nhất) trên ngã ba của tôi, chưa sửa đổi. Làm thế nào tôi có thể đẩy các thay đổi vào tài khoản github của tôi?không thể đẩy vào github: mọi thứ được cập nhật

(Tôi nhận ra đây không phải là nhiều thông tin ... tôi có thể nói gì nữa? Tôi có cảm giác rằng có thể vì tôi đang sửa đổi tệp trực tiếp trong (home)/git/(project) .. .?)

+2

Kiểm tra xem bạn có đang ở đúng chi nhánh hay không. git log --graph --all --decorate --pretty = oneline và git remote show origin có thể hữu ích – tomgi

+0

Đầu ra của 'git branch -v' và' git remote -v' là gì? – Stefan

+1

'Mọi thứ cập nhật 'có nghĩa là không có gì được đẩy (vì không có gì được thêm vào), bạn có' git add' và 'git commit' trước' git push' của bạn không? – KurzedMetal

Trả lời

9

git branch -v cho biết rằng cam kết của tôi đã được bật (không có chi nhánh). Về phần bổ sung, ban đầu tôi đã cam kết các thay đổi thông qua Eclipse (với trình cắm git) ... khi tôi thực hiện lệnh git add từ dòng lệnh, nó dường như không làm bất cứ điều gì

Điều đó có nghĩa là bạn đang ở chế độ DETACHED HEAD.
Bạn có thể thêm và cam kết, nhưng từ điểm repo ngược dòng (ví dụ từ repo GitHub), không có cam kết mới nào sẵn sàng để được đẩy.
Bạn có nhiều cách khác nhau để bao gồm địa phương của bạn (tách ra HEAD) cam kết trở lại vào một chi nhánh, mà bạn sẽ có thể đẩy sau đó.
Xem:

Các OP đề cập đến bài viết này để sửa chữa tình hình:
"git: what to do if you commit to no branch"

tất cả chúng ta cần phải làm là thanh toán chi nhánh mà chúng tôi phải có và hợp nhất trong cam kết đó SHA:

Lưu ý rằng thay vì sáp nhập các SHA1 rằng bạn đã có thể bằng cách nào đó sao chép, bạn có thể ghi nhớ nó với một kịch bản, sử dụng head=$(git rev-parse HEAD):
Xem "git: reliably switching to a detached HEAD and then restore HEAD later, all from a script".
Sau đó, bạn có thể hợp nhất tách rời HEAD quay lại nhánh bên phải.

+0

Vâng, đây là những gì tôi vừa tìm ra. [Điều này cho tôi thấy cách sửa chữa nó.] (Http://edspencer.net/2009/10/git-what-to-do-if-you-commit-to-no-branch.html/comment-page-1) – Kricket

+0

@KelseyRider Tôi đã thêm tham chiếu đến tập lệnh sẽ ghi nhớ HEAD SHA1 được tách riêng cho bạn. – VonC

7

Sau khi bạn thay đổi file, bạn cần phải

git add 

họ trước khi

git commit 

.

+0

Ông nói rằng ông cam kết những thay đổi tại địa phương – tomgi

+0

Cảm ơn bạn Themroc! Sau khi git add và git commit và một git push origin nó hoạt động. – Marin

3
git commit 

sẽ cho bạn thấy những tập tin nào trên máy tính địa phương của bạn, bỏ ghi chú những gì bạn muốn tải lên và

git push origin master 

git add * không làm việc cho tôi (ngay cả khi nó đã không trở về lỗi).

-1

Trong phiên bản git gần đây phải configer chi tiết người dùng git config -g user.name "tên"

git config -g user.email "[email protected]" 

này giải quyết vấn đề của tôi

1

Không chắc lý do tại sao mọi người đang xuống biểu quyết các chàng với đúng câu trả lời. Đối với tôi, việc thêm email và tên của tôi đã giải quyết được vấn đề. Mặc dù các lệnh không chính xác.

git config --global user.email "[email protected]" 
git config --global user.name "Your Name" 
Các vấn đề liên quan