Github分支提前5次提交,如何解决?

时间:2012-12-03 07:17:33

标签: git github commit master

Windows PowerShell
Copyright (C) 2009 Microsoft Corporation. All rights reserved.

C:\Users\Allen\Documents\GitHub\project2-pd7 [master]> git status
# On branch master
# Your branch is ahead of 'origin/master' by 5 commits.
#
nothing to commit, working directory clean
C:\Users\Allen\Documents\GitHub\project2-pd7 [master]> git push
Counting objects: 36, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (15/15), done.
Writing objects: 100% (30/30), 3.93 KiB, done.
Total 30 (delta 8), reused 1 (delta 0)
error: unpack failed: index-pack abnormal exit
To https://github.com/stuycs-ml7/project2-pd7.git
 ! [remote rejected] master -> master (unpacker error)
error: failed to push some refs to 'https://github.com/stuycs-ml7/project2-pd7.git'

我仍然试图用github找到我的海腿,但这些不断的问题正在扼杀我。任何人都可以用正常的语言解释这个解决方案,这样我才明白吗?

3 个答案:

答案 0 :(得分:2)

您的历史与远程分支的历史不同。可能有人自上次git pull以来已将提交推送到远程分支。解决方案是:

git pull

git pull --rebase

后者尝试重写您的提交,以便它们出现在分支的顶端,在远程分支的历史记录之上重新定位。前者在您的远程分支历史记录之间进行简单的合并。

答案 1 :(得分:1)

自上次结账/退学以来,班上其他一些学生推了一些修改。

正如hd1指出的那样,你最好的选择是git pull,这可能会创建一个合并提交,之后你可能必须明确git commit合并。在运行git pull --rebase

之前,我更喜欢git push对变更进行线性化

从命令行运行git log --graph以获得本地存储库当前状态的良好可视化。

执行git fetch下拉远程分支,而不尝试合并或修改当前更改。这将允许您使用git log --graph origin/master

检查远程存储库的状态

答案 2 :(得分:0)

git pull之前尝试git push