情况一,
当本地的项目已经执行了git commit 操作,刚要推送远程仓库发现远程仓库已经有了最新的代码
无冲突的情况
step:1
git pull --rebase origin 远程分支名
step :2
直接推送到远程即可
有冲突的情况
step:1
git pull --rebase origin 远程分支名
step :2
git status 查看冲突的文件有那些,然后解决冲突
step:3
git add . 将解决好的冲突进行add.
step:4
git rebase --continue
step:5
进行推送远程分支
这样写的优点是会在远程基础上提交历史,会更清晰,保持提交历史的线性。
而不是会出现
情况二,
当远程仓库已有修改,但有一些本地修改,但这些修改还没有提交。如果你直接拉取远程更改,可能会导致冲突。
step:1
git stash 将修改的代码放在一个临时空间
step:2
git pull origin 远程分支名 拉取远程
step:3
git stash pop
再将修改的代码从临时空间拿回来,将你工作目录中的所有未提交的更改(包括暂存区和工作区的更改)保存到一个栈中,并恢复工作目录到上次提交的状态
情况三,
当你已经提交了一次commit,然后发现上一次提交的有错误,所以你想更改再次提交但是完成的功能是一样的你并不想生成重复的描述记录那么就
step1
git add . 提交所有修改
step2
git commit --amend --no-edit 合并更改到上一提交