git 本地代码版本与远程仓库版本不一致 push冲突问题
问题一:别人先提交了自己的工作代码到远程仓库,导致自己提交时时,由于自己当前版本落后远程最新版本,导致提交失败。
解决:当前分支落后了远程仓库的分支,推送不进去如何解决呢!
1. 使用git stash save "暂存" 将自己修改的代码,进行一个本地仓库的临时缓存。
$ git stash save "暂存"
Saved working directory and index state On master: 暂存
2. 使用git stash list 查看缓存代码片段。
$ git stash list
stash@{0}: On master: 暂存
4. 执行pull命令 将远程仓库更新到本地。
$ git pull origin master
5. 将我们的修改合并到更新后的代码中,stash@{0} 就是我们自己暂存的标记
$ git stash pop stash@{0}
6. 回到自己代码中,合并或删除不需要的代码。
7. git status 查看文件修改状态
8. git checkout 文件名称 (各个文件名之间用空格 隔开) 撤销不需要的提交文件
9. git add 提交文件名称 (各个文件名之间用空格 隔开) 需要提交的文件。不建议直接使用git add .
10. git commit –m” 修改记录说明” 提交到本地仓库
11. git push origin master 是推到远程master库
问题二:在使用git协同开发时,难免会出现不同的人员,同时修改某个文件导致代码冲突的问题。
这时候我们提交代码前,应该首先获取远程最新版本,与本地版本合并。回到代码中解决冲突,在做提交。
//查询当前远程的版本
$ git remote -v
//获取最新代码到本地(本地当前分支为[master],获取的远端的分支为[origin/master])
$ git fetch origin master [示例1:获取远端的origin/master分支]
$ git fetch origin pin[示例2:获取远端的origin/pin分支]
//查看版本差异
$ git log -p master..origin/master [示例1:查看本地master与远端origin/master的版本差异]
$ git log -p dev..origin/pin[示例2:查看本地dev与远端origin/dev的版本差异]
//合并最新代码到本地分支
$ git merge origin/master [示例1:合并远端分支origin/master到当前分支]
$ git merge origin/pin[示例2:合并远端分支origin/dev到当前分支]
问题三:有时候,我们用Git的时候有可能commit提交代码后,发现这一次commit的内容是有错误的
那么有两种处理方法:
1、修改错误内容,再次commit一次
2、使用git reset 命令撤销这一次错误的commit
/p/c2ec5f06cf1a
git reset --soft HEAD^ 撤销这一次错误的commit