报这个错就是因为你和远程库出现分叉了,具体表现是是由于同一个分支有多人修改,多人commit造成的
|   用户1操作  |   用户2操作  | |
|   T1  |   git co -b brv_1  |   git co -b brv_1  | 
|   T2  |   git add test2.java git commit -m 'm2' git push  | |
|   T3  |   git add test1.java git commit -m 'm1' git push Your branch and 'XXX' have diverged, and have 1 and 1 different commits each, respectively. (use "git pull" to merge the remote branch into yours)  | |
|   T4  |   git pull fatal: Not possible to fast-forward, aborting.  | 
问题:T3时刻,提示用户git push之前需要先进行一下git pull,然而在T4时刻执行git pull时又阻止了这一操作

解决方式一:T4时刻执行git pull之前执行一下 git rebase即可

解决方式二:T4时刻执行 git push -f ,丢弃掉其它人的的修改(不推荐)






![[算法]希尔排序——插入排序的升级](https://img-blog.csdnimg.cn/f3696b9c7f6f486985fcf81f0b51ce7c.png)













