git常见报错 1. commit your changes or stash them before you can merge 出现这个问题的原因是其他人修改了xxx文件并提交到版本库中去了,而你本地也修改了xxx文件,这时候你进行git pull操作就好出现冲突了,解决方法,在上面的提示中也说的很明确了。 1)保留本地的修改 的改法 通过git stash ---- 通常用这种方法 步骤1:git stash 步骤2:git pull 步骤3:git stash pop 通过git stash将工作区恢复到上次提交的内容,同时备份本地所做的修改,之后就可以正常git pull了,git pull完成后,执行git stash pop将之前本地做的修改应用到当前工作区。 git stash: 备份当前的工作区的内容,从最近的一次提交中读取相关内容,让工作区保证和上次提交的内容一致。同时,将当前的工作区内容保存到Git栈中。 git stash pop: 从Git栈中读取最近一次保存的内容,恢复工作区的相关内容。由于可能存在多个Stash的内容,所以用栈来管理,pop会从最近的一个stash中读取内容并恢复。 git stash list: 显示Git栈内的所有备份,可以利用这个列表来决定从那个地方恢复。 git stash clear: 清空Git栈。此时使用gitg等图形化工具会发现,原来stash的哪些节点都消失了。 2)放弃本地修改 的改法 ----这种方法会丢弃本地修改的代码,而且不可找回,提前做好备份 在不确定的情况下,先备份好本地写好的代码,然后再放弃本地修改,从服务器上拉一份下来: git reset --hard git pull 然后再把要修改掉的文件 直接覆盖掉,然后再进行正常提交操作: git add . git commit -m "xxx" git push origin master 2.Updates were rejected because the tip of your current branch is behind 1)push前先将远程repository修改pull下来 git pull origin master git push -u origin master 2)若不想merge远程和本地修改, 可以先创建新的分支:git branch [name] 然后:pushgit push -u origin [name] 3.fatal: remote origin already exists. (致命错误信息: 远程仓库信息已经存在.) 其实导致这个错误的问题是,第一次在本地git仓库中配置的远程GitHub的地址已经存在,再次去添加项目地址,就会报错,提示: 远程仓库信息已存在. 解决这个问题就需要修改本地git的配置,默认路径在本地项目根目录下 .git 文件下的 config 文件,使用rm命令可以移除这一信息,如果在执行rm命令时报错,就需要手动修改,具体方法: vi .git/config 使用编辑器,修改 config 文件中的配置信息,将url修改为新的仓库地址,或者直接删除掉[remote "origin"]区域这部分信息 [core] repositoryformatversion = 0 filemode = true bare = false logallrefupdates = true [remote "origin"] url = git@github.com:XXXXXXXXXXXXXXXXXX.git fetch = +refs/heads/*:refs/remotes/origin/* [branch "master"] remote = origin merge = refs/heads/master 4.Please make sure you have the correct access rights and the repository exists. ssh密钥有问题,重新添加 5.Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password) 没有加密钥