1.创建master分支并上传到remote分支
create 2 folders and 4 files
2.修改folder1/file1.java,commit并push。
3.修改folder1/file2.java,使用Amend Last Commit选项,先commit。
4.push,失败。
失败的原因是本地的当前分支的最前端提交(tip)在它对应的远程分支的后面(也就是本地分支的内容旧了)。
解决办法是在push之前把远程分支的内容与本地分支的进行合并(e.g. pull一下)。
5.pull远程分支
6.push到远程分支
分析:
整个过程中只有自己一个用户push了两次,为什么还会出现我的本地分支版本落后于远程分支呢?
原因在于第二次commit的时候使用了Amend Last Commit选项,由于使用了这个选项commit之后导致本地分支和远程分支的不一致。
所以应该将这个选项应用于没有push到远程分支的commit上面去。这些没有push过的commit在本地分支和远程分支一致点之后,所以不影响。