我远程git到GitHub,它错了

时间:2015-09-12 10:59:21

标签: git github

我有一个本地存储库。我想把我的GitHub存储库。我这样做有些不对劲。

如何将存储库放入我的GitHub?我这样做:

git init 
git add ........
git commit ..

然后我这样做:

git remote add origin git@github.com:jiexishede/StudyMethod.git
git push origin master 

然后,错误显示:

To git@github.com:jiexishede/StudyMethod.git
 ! [rejected]        master -> master (fetch first)
error: failed to push some refs to 'git@github.com:jiexishede/StudyMethod.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
jiexishede:StudyMethod lilonglong$ git remote set-url origin git@github.com:jiexishede/StudyMethod.git

如何解决?

2 个答案:

答案 0 :(得分:2)

上游存储库中有一些提交尚未集成到您的本地分支中。

git fetch
git merge origin/master
git push

答案 1 :(得分:1)

这意味着github服务器中有一些文件,但不在本地存储库中。只需使用git pull命令获取它们或使用git push -f推送新的提交力。

如果本地和服务器中有相同的文件,但其中一个文件比另一个文件更新。您必须在git pushgit push之前解决冲突(如果git无法自动解决冲突)。

因此,如果您在服务器中有另一个新文件但在本地没有,或者您在服务器中有另一个文件比本地文件更新,但您还没有编辑本地文件。只需使用这些命令:

git pull
git push

但是,如果您的文件存在冲突,则必须进行拉动和编辑。像:

git pull

当您完成解决冲突后,您可以将其推送到服务器。

但是,如果您不需要服务器上的文件。你只需要推它使用

git push --force

git push -f

此命令将自动解决冲突,因为它更像是:

  

首先删除服务器上的文件

     

然后将您的本地文件推送到服务器