一般来说,我们不会在master分支上修改代码,保证master分支和远程master分支的一致性。
切换分支
从a分支切换到b分支工作。在a分支执行 git checkout b
- a分支如果有未commit的文件,不能直接切换到b分支。需要在a分支先执行 git stash 隐藏修改,然后执行 git checkout b,等将来切换回a分支的时候,使用 git stash pop 恢复修改。
推送分支到远程,并希望合并到master
将a分支推送远程,并创建合并到master分支的申请
由于远端master分支已经被修改过,因此a分支需要先合并master分支的修改再推送
第一步:切换到master分支,并执行get pull 拉取远程master分支
第二步:切换到a分支,并执行 git rebase master 合并master分支的修改
合并多个commit
第一步: git rebase -i HEAD~3 表示合并最近3个commit
第二步: 将除了第一个的pick,其他都改为 s 或 squash
pick 3ca6ec3 '注释**********'
s 1b40566 '注释*********'
s 53f244a '注释**********'
第三步:如果有冲突,修改冲突文件。修改完成之后执行 git add . git rebase --continue
第四步:git push -f 直接强制推送到远端