git分支操作如下
<———————————————–华丽的分割线———————————————>
查看本地分支:git branch
查看远程分支:git branch -r
查看所有分支:git branch -a
创建分支:git branch <name>
切换分支:git checkout <name>
创建+切换分支:git checkout -b <name>
合并某分支到当前分支:git merge <name>
删除分支:git branch -d <name>
强行删除分支:git branch -D <name>
分支合并图:git log --graph
git merge --no-ff -m "merge with no-ff" dev
合并分支时,加上--no-ff
参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,而fast forward
合并就看不出来曾经做过合并。
git stash-->工作现场“储藏”
git stash list-->查看工作现场“储藏”列表
git stash apply-->恢复
git stash drop-->删除
git stash pop--恢复并删除(相当于apply + drop)
git stash apply stash@{0}-->指定恢复的"储藏"
<———————————————–多人合作开发遇到的常见问题———————————————>
1.首先,可以试图用git push origin branch-name
推送自己的修改;
2.如果推送失败,则因为远程分支比你的本地更新,需要先用git pull
试图合并;
3.如果合并有冲突,则解决冲突,并在本地提交;
4.没有冲突或者解决掉冲突后,再用git push origin branch-name
推送就能成功!
如果git pull
提示“no tracking information”,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream branch-name origin/branch-name
。
这就是多人协作的工作模式,一旦熟悉了,就非常简单。
git remote -v
;git push origin branch-name
,如果推送失败,先用git pull
抓取远程的新提交;git checkout -b branch-name origin/branch-name
,本地和远程分支的名称最好一致;git branch --set-upstream branch-name origin/branch-name
;git pull
,如果有冲突,要先处理冲突。<———————————————–tag标签的使用———————————————>
git tag <name>
git tag -d <tagname>
git push origin :refs/tags/<tagname>
git push origin <tagname>
git push origin --tags
git tag -a <tagname> -m "blablabla..."
git tag -s <tagname> -m "blablabla..."
git tag
git show <tagname>