git 错误日志

这个笔记记录一些在使用 git 的时候遇到的一些小问题并且附加解决方案(持续更新)

git pull error: Your local changes to the following files would be overwritten by merge:

错误原因

在我们修改代码的时候忘记 git pull 拉取最新的代码然后直接编写代码,到后面的时候我们想起来忘记 git pull 的时候,运行这个命令就会报error: Your local changes to the following files would be overwritten by merge:异常。

这个异常翻译过来:您对以下文件的本地更改将被合并覆盖,通俗点来说就是新修改的代码的文件,将会被git服务器上的代码覆盖。(当然我们并不想这么干)

解决方法

方法1:如果你想保留刚才本地修改的代码,并把git服务器上的代码pull到本地(本地刚才修改的代码将会被暂时封存起来)

// 会把所有未提交的修改(包括暂存的和非暂存的)都保存起来,用于后续恢复当前工作目录。
git stash
// 将远程主机origin的master分支拉取过来,与本地的brantest分支合并。
git pull origin master 
// 从git栈中获取到最近一次stash进去的内容,恢复工作区的内容。。获取之后,会删除栈中对应的stash。。
// 由于可能会stash多次,git使用栈管理,我们可以使用git stash list查看所有的stash 
git stash pop

方法2:如果你想完全地覆盖本地的代码,只保留服务器端代码,则直接回退到上一个版本,再进行pull

// 回到上次commit的状态,具体看 git reset 参数的定义
git reset --hard
// 将远程主机origin的master分支拉取过来,与本地的brantest分支合并。
git pull origin master

本问题参考文章:https://blog.csdn.net/misakaqunianxiatian/article/details/51103734

git push failed to push some refs to 'http://XXXXX/XXXXX.git'

错误原因

很明显,这个问题是因为远程库与本地库不一致造成的,有可能你在写代码,你另外一个同事也在写代码而你另外一个同事比你先 push 代码。

解决方法

方法1:

直接进行同步

git pull origin master

然后运行

git push origin master // 这边好像可以直接运行 git push

方法2:

注意:–rebase的作用是取消本地库中的commit,并接到新版本库中。

git pull --rebase origin master

然后运行

git push -u origin master

rebase 的好处

想要更好的提交树,使用rebase操作会更好一点。这样可以线性的看到每一次提交,并且没有增加提交节点。

merge 操作遇到冲突的时候,当前merge不能继续进行下去。手动修改冲突内容后,add 修改,commit 就可以了。

而rebase 操作的话,会中断rebase,同时会提示去解决冲突。解决冲突后,将修改add后执行git rebase –continue继续操作,或者git rebase –skip忽略冲突。

本问题参考文章1:https://blog.csdn.net/qq_24495287/article/details/83627727
本问题参考文章2:https://www.jianshu.com/p/dc367c8dca8e

posted @ 2022-12-28 09:28  张三删库跑路  阅读(152)  评论(1编辑  收藏  举报