thể trùng lặp:
'git pull origin mybranch' leaves local mybranch N commits ahead of origin. Why?Git - "Chi nhánh của bạn ở phía trước 'origin/master' bằng 3 commit."
tôi nhận được thông tin này trong git
>git status
# On branch master
# Your branch is ahead of 'origin/master' by 3 commits.
#
nothing to commit (working directory clean)
Và, khi tôi cố gắng để đẩy, tôi có được điều này:
fatal: failed to write object
error: unpack failed: unpacker exited with error code
To ssh:<my repository>
! [remote rejected] master -> master (n/a (unpacker error))
error: failed to push some refs to 'ssh:<my repository>'
Tôi đã googling này một chút, (ví dụ như có một câu hỏi stackoverflow về nó ở đây - 'git pull origin mybranch' leaves local mybranch N commits ahead of origin. Why?) và lời khuyên chung có vẻ là để làm một kéo sau đó đẩy. Nhưng điều này không làm việc cho tôi - một kéo nói với tôi tôi đang cập nhật. Tôi cũng đã thử 'git fetch origin' (không có gì). Tôi cũng đã thử:
> git remote show origin
* remote origin
URL: ssh://<my repository>
HEAD branch: master
Remote branch:
master tracked
Local branch configured for 'git pull':
master merges with remote master
Local ref configured for 'git push':
master pushes to master (fast forwardable)
Trường hợp giúp mọi người.
Tôi cũng đã thử thêm tệp giả trên máy chủ web của chúng tôi (cũng kiểm tra chính), cam kết và đẩy nó lên, sau đó kéo nó xuống cục bộ. Tất cả đều ổn. Nhưng tôi vẫn không thể đẩy. Bất cứ ai có thể cho tôi biết những gì tôi cần phải làm để giải quyết điều này? Tôi thậm chí không thực sự biết những gì nó có nghĩa là để nói rằng tôi đã nhanh chóng chuyển tiếp liên quan đến kho lưu trữ.
cổ vũ, tối đa
EDIT - cho ebneter và dan (nhờ)
> git config -l
user.name=Max Williams
push.default=tracking
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
remote.origin.url=ssh://<my repo url>
branch.master.remote=origin
branch.master.merge=refs/heads/master
Một lấy màn hình của gitk là http://dl.dropbox.com/u/846812/gitk.png
- tôi mới để git vì vậy tôi có thể 't giải thích điều này rất tốt, nhưng tôi tự hỏi nếu các cam kết thực hiện như là người chủ (dòng 6 trong phần trên cùng),' hợp nhất chi nhánh chủ ... 'có thể có những thứ cocked lên. Tôi không nhớ làm một cam kết như là người chủ, bối rối ...
Dan - Tôi nghĩ bạn nói đúng: lỗi tôi nhận được khi tôi cố gắng để đẩy là
error: unable to create temporary sha1 filename ./objects/05: File exists
fatal: failed to write object
error: unpack failed: unpacker exited with error code
EDIT - đây nhận xét từ câu hỏi stackoverflow khác mà tôi đã đề cập trước đó đã thực sự khắc phục sự cố:
git remote alone (hiển thị đúng địa chỉ cho GitHub repo) không phải là đủ. Để tránh có thông báo cảnh báo "Nhánh của bạn trước" sau một lần kéo git, trước tiên bạn cần phải xác định tên từ xa cho một chi nhánh. Do đó đề nghị của tôi: gõ git config branch.master.remote yourGitHubRepo.git, sau đó thử một git pull và một trạng thái git và xem nếu vấn đề vẫn còn. - VonC ngày 16 tháng 11 tại 20:22
Thử chạy 'gitk --all' để xem trực quan vị trí của bạn. – noah
Lỗi bạn thường nhận được cho biết có điều gì đó sai trên điều khiển từ xa. Tuy nhiên, bạn dường như ngụ ý rằng bạn * có thể * đẩy từ máy chủ web của bạn. Có đúng không? Bạn có thể hiển thị toàn bộ nội dung của tập tin cấu hình (git config -l) không? – ebneter
Có câu trả lời được cung cấp [tại đây] (http://stackoverflow.com/questions/1741143/git-git-pull-origin-mybranch-leaves-local-mybranch-n-commits-ahead-of-origin) – Surya