流程参考:git -- 家和公司同步开发
界面操作参考:将分支代码合并到master和将master代码合并到devhttps://www.cnblogs.com/fengli9998/p/9291302.html
一、在家里上传代码
给远程仓库起别名
git reomte add origin 远程仓库地址
向远程推送代码
git push -u origin 分支
二、在公司第一次获取代码
克隆远程仓库代码
git clone 远程仓库地址
切换分支
git checkout 分支
三、 在公司进行开发
切换到dev分支进行开发
git checkout dev
把master分支合并到dev分支[仅一次]
git merge master
修改代码
提交代码
git add.
git commit -m ‘xxx’
git push origin dev
四、回到家里继续写代码
切换到dev分支进行开发
git checkout dev
拉取代码
git pull origin dev
继续开发
提交代码
git add.
git commit -m ‘xxx’
git push origin dev
开发完毕,上线
将dev分支合并到master
git checkout master
git merge dev
git push origin master
把dev分支也推送到远程
git checkout dev
git merge master : 此处保持主分支和dev分支代码一致
git push origin dev
————————————————
忘记推送代码
场景:公司代码已经commit,但是没有push到远程仓库,到家后写了其它的功能,并push到了远程仓库。第二天到公司拉取昨天开发的其它部分代码,可能会有冲突。产生的冲突,需要手动解决冲突部分。
git pull origin dev
等价于:
git fetch origin dev :从远程仓库拉取到本地仓库
git merge origin/dev :从仓库合并到工作区
rebase应用
作用:使提交记录变得简洁
场景一:多个记录整合成一个提交记录
git rebase -i HEAD~3 : 从当前开始找最近的3次提交记录进行整合
git rebase -i 版本号 :从当前版本到指定的版本进行整合
pick 变成 s
修改 合并信息
注意:如果代码已经push到了远程仓库,最好不要进行整合
场景二:分支记录整合到master记录
git log --graph : 以图形的形式展示提交记录
git log --graph --pretty=format:"%h %s" :以图形简洁的显示提交记录(h哈希值 s 提交记录)
git checkout dev
git rebase master
git checkout master
git merge dev
场景三:忘记推送代码的场景中,会产生分叉
git pull origin
等价于
git fetch origin dev
git rebase origin/dev