2013-06-03 44 views
10

Tôi khá mới với git, và tôi đã làm việc trên một dự án nhỏ bên trong 2 tháng qua và đã đẩy công cụ lên bitbucket mà không có vấn đề gì. Một vài ngày trước, tôi đã nén thư mục dự án của mình (vì tôi phải cài đặt lại hệ điều hành Linux của mình) và bây giờ đã giải nén sau khi cài đặt lại hệ điều hành Linux của tôi.git bị từ chối đẩy không nhanh về phía trước

Vì vậy, bây giờ, tôi đi đến thư mục dự án của tôi, giữ hạnh phúc làm việc và cuối cùng đã làm:

git add -A && git commit -m "modified code" && git push origin master 

đồi khế, đồi là những gì tôi thường làm ..

và tôi nhận được:

To https://[email protected]/johnsproject/proj.git 
! [rejected]  master -> master (non-fast-forward) 
error: failed to push some refs to 'https://[email protected]/johnsproject/proj.git' 
hint: Updates were rejected because the tip of your current branch is behind 
hint: its remote counterpart. Merge the remote changes (e.g. 'git pull') 
hint: before pushing again. 
hint: See the 'Note about fast-forwards' in 'git push --help' for details. 

Tôi đã xem xét một số câu hỏi SO nơi họ đề xuất sử dụng cờ hiệu lực -f - nhưng tôi không chắc liệu tôi có nên thực hiện việc này hay không.

p.s: Tôi đang ở trên nhánh chính - là chi nhánh only trên repo của tôi.

Sẽ thực sự đánh giá cao nếu có ai có thể chỉ cho tôi đi đúng hướng tại đây.

Cảm ơn.

+0

'Hợp nhất các thay đổi từ xa (ví dụ: 'git pull') gợi ý: trước khi đẩy lại.' Bạn đã cố gắng kéo chưa? – Bob

+0

Tôi đã thử điều này, nhưng tôi nhận được '* nhánh chính -> FETCH_HEAD Cập nhật 74f5f2e..06e5112 lỗi: Thay đổi cục bộ của bạn đối với các tệp sau sẽ bị ghi đè bằng cách hợp nhất: Vui lòng cam kết thay đổi hoặc chặn chúng trước khi bạn có thể hợp nhất .' – JohnJ

+0

ok) sau đó cam kết bạn thay đổi và chạy 'git pull' một lần nữa – Bob

Trả lời

14

Có những thay đổi trong kho lưu trữ trung tâm mà bạn phải kéo trước khi bạn có thể đẩy. Làm

git add -A 
git commit -m "my local changes" 
git pull 

Giải quyết mọi xung đột. Sau đó làm

git push 

Ngoài ra, nếu bạn không có những thay đổi có giá trị tại địa phương, bạn có thể tạo một bản sao mới của repo của bạn, và bắt đầu làm việc từ đó:

git clone https://[email protected]/johnsproject/proj.git new_repo_dir 
+0

Khi tôi làm git pull, tôi dường như nhận được' * branch master -> FETCH_HEAD Cập nhật 74f5f2e..06e5112 lỗi: Thay đổi cục bộ của bạn đối với các tệp sau sẽ bị ghi đè bằng cách hợp nhất: Vui lòng, cam kết thay đổi hoặc giấu chúng trước khi bạn có thể hợp nhất.' – JohnJ

+0

@JohnJ Ok, hãy làm theo lời khuyên. Cam kết sửa đổi cục bộ của bạn trước tiên. Sau đó, 'git pull' và giải quyết bất kỳ xung đột nào. –

8

Hãy thử làm

git pull origin master 
git add -A 
git commit -m "modified code" 
git push origin master 

Kho lưu trữ cục bộ của bạn có thể không đồng bộ với kho lưu trữ từ xa.

+0

cố gắng này với egit - bit của một cơn ác mộng nhưng về cơ bản của Eclipse git đồng bộ hóa màn hình giữ hiển thị cũ xung đột hợp nhất ngày. Tôi đã phải dừng lại và khởi động lại và đột nhiên vấn đề của tôi đã được giải quyết. FWIW. – Adam

4

Tôi gặp vấn đề tương tự. Tôi đã khắc phục bằng cách sử dụng lệnh git push -f buộc cập nhật.

+0

Về giải pháp này, trong trường hợp bạn có bất kỳ tệp mới nào mà bạn không kéo cục bộ, quá trình này sẽ xóa chúng. – zinon

+0

Không phải là một giải pháp tốt nếu bạn không chắc chắn những gì bạn đang đẩy. – skyrocker

Các vấn đề liên quan