为什么在 git 中 pull 和 push 都抛出错误?
Why both pull and push throw error in git?
我必须将我的新更改推送到存储库。我添加了 .
并为其创建了一个提交。但是当我输入
$ git push origin master
它抛出错误并首先说 (作为提示) pull
。但是当 pull
时,它再次抛出错误并谈论 fetch
。老实说,我很困惑。我现在该怎么办?
是因为您遇到了一些合并冲突,还没有解决。
git checkout -f # or git stash if you want to preserve the changes
git checkout master # just to make sure some rebase is not going on
git pull origin master
# Now resolve merge conflicts, add the files and commit.
git push origin master
运行 git status
您应该会看到未隐藏的文件。您可以使用 git stash save <patch_name>
暂时保存它们,也可以根据需要提交这些更改。完成后,git pull 以获取 master 中的最新更改,因为您的提示落后于 remote/master,然后是 git push
推送您的分支不起作用,因为您的本地 master
和远程版本 有分歧 。这意味着,虽然这些分支中的每一个都共享一个共同的祖先提交,但从那时起每个分支都添加了不同的后续提交。这是一个小示例图,显示了本地和远程 master
分支的外观:
remote: ... A -- B -- C
\
local: ... M -- N
Git 正在拒绝推送,因为它不知道如何在远程 C
提交之上应用 M
提交。基地不同,所以你只是得到一个错误,告诉你拉来纠正这个。
您的预感 git pull
是正确的,但是分支状态 master|MERGING
意味着您已经在进行另一次合并。可能,您已经拉了一次,现在有需要解决的合并冲突。您可以通过 git status
找到冲突的文件。解决所有冲突,然后 git add
每个文件,然后是 git commit
。完成这些步骤后,git push
应该可以工作了。
您可以先查看状态,看看是否有未暂存或冲突的文件:
git status
修复并提交后,您可以再次从 origin master 拉取。
git add -A
git commit
git pull origin master
我必须将我的新更改推送到存储库。我添加了 .
并为其创建了一个提交。但是当我输入
$ git push origin master
它抛出错误并首先说 (作为提示) pull
。但是当 pull
时,它再次抛出错误并谈论 fetch
。老实说,我很困惑。我现在该怎么办?
是因为您遇到了一些合并冲突,还没有解决。
git checkout -f # or git stash if you want to preserve the changes
git checkout master # just to make sure some rebase is not going on
git pull origin master
# Now resolve merge conflicts, add the files and commit.
git push origin master
运行 git status
您应该会看到未隐藏的文件。您可以使用 git stash save <patch_name>
暂时保存它们,也可以根据需要提交这些更改。完成后,git pull 以获取 master 中的最新更改,因为您的提示落后于 remote/master,然后是 git push
推送您的分支不起作用,因为您的本地 master
和远程版本 有分歧 。这意味着,虽然这些分支中的每一个都共享一个共同的祖先提交,但从那时起每个分支都添加了不同的后续提交。这是一个小示例图,显示了本地和远程 master
分支的外观:
remote: ... A -- B -- C
\
local: ... M -- N
Git 正在拒绝推送,因为它不知道如何在远程 C
提交之上应用 M
提交。基地不同,所以你只是得到一个错误,告诉你拉来纠正这个。
您的预感 git pull
是正确的,但是分支状态 master|MERGING
意味着您已经在进行另一次合并。可能,您已经拉了一次,现在有需要解决的合并冲突。您可以通过 git status
找到冲突的文件。解决所有冲突,然后 git add
每个文件,然后是 git commit
。完成这些步骤后,git push
应该可以工作了。
您可以先查看状态,看看是否有未暂存或冲突的文件:
git status
修复并提交后,您可以再次从 origin master 拉取。
git add -A
git commit
git pull origin master