场景
假设你本地有两个分支master(主分支)与develop(你的个人分支),
那么当本地更新了个人分支develop,如何才能更新到origin远程的master与develop分支呢?
实践
个人分支操作
此刻分支处于本地develop
1.检测本地develop分支是否有变更
git status
2.检测本地develop分支变更代码差异(不是必须,但重新过一遍代码块是个好习惯)
git diff
3.添加本地develop分支的改动
git add *
4.提交本地develop分支
git commit -am "develop改动"
5.推送本地develop分支到远程develop分支(为了防止后续整合冲突丢失)
git push origin develop
主分支操作
此刻分支处于本地master
6.切换本地develop分支到本地master主分支
git checkout master
7.同步本地master与远程origin master分支
git pull origin master
分支整合
此刻分支仍在本地master
8.整合本地develop分支与master分支
// 以dev分支为主整合
git rebase master develop
- 如果有冲突。
- 解决冲突,然后重新添加改动代码
git add *
- 继续执行合并整合
git rebase --continue
分支推送
此刻分支回到本地develop
9.推送整合后的develop分支到远程origin master
git push origin develop:master
10.强制推送到远程origin 个人分支develop(如果本地分支整合后没问题的话)
git push origin develop --force
其他
- git本地commit误操作被远程覆盖
git reflog // 查看本地分支的所有commit内容
git reset --hard HEAD // 乘坐时光机将本地分支回退到覆盖的commit。
- git分支删除
git branch -D 分支名称 // 删除本地分支
git push origin :分支名称 // 删除远程分支(origin后面有空格,推送空内容到远程分支)
总结
基本的推送就是这样了,一些基本的git指令我就不多加解释啦。
原文地址:http://www.fidding.me/article/36
happy coding!