多分支操作
1.远程拉取其他分支到本地
假设你已经本地项目和远程仓库关联起来了
1、把远程分支拉到本地
git fetch origin dev(dev为远程仓库的分支名)
2、在本地创建分支dev并切换到该分支
git checkout -b dev(本地分支名称) origin/dev(远程分支名称)
3、把某个分支上的内容都拉取到本地
git pull origin dev(远程分支名称)
2.合并两个远程分支
如果有人偷懒或者不会合并拉取你提交的分支的话,这时候就需要你合并你的代码到别人的远程分支上,他直接pull自己的分支,这时候就需要你自己做两份活,如下:
假如我的分支是dev1,已经做好修改了,并推送到远程,想要合并到dev2分支
dev2分支已经拉取在本地,这里只做合并处理
1.从dev1分支切换到dev2分支
git checkout dev2
2.合并两个分支,如果出现冲突,先解决冲突
git merge dev1
3.将dev1新增加/修改的文件提交到远程(不需要推送则忽略这个)
git add .
git commit -m "提交信息"
git push
合并完之后记得切回自己的分支,又可以开心的写代码啦~
关于撤销与回退
1.已提交commit,但未push
git reset --soft HEAD^
HEAD^
是回退到上一次提交的地方,也可以使用HEAD~1
,HEAD~2
代表回退到提交的前两次的地方.
git reset 命令主要有三个选项: --soft、–mixed 、–hard,默认参数为 --mixed。
- –soft 不删除工作空间改动代码,撤销commit,不撤销git add .
- –mixed 不删除工作空间改动代码,撤销commit,并且撤销git add . 操作
- –hard 删除工作空间改动代码,撤销commit,撤销git add .
还有一种方法是git reset [commit_id]
这个commit_id通过git log
查看提交记录拿到,比较麻烦,这里就不介绍了.
关于解决冲突
[遇到问题了再更新…]