Git分支管理与标签管理(the last)

开卷有益

有些人没见过汪洋,以为江河最为壮美;有些人一片透过落叶,便能看到整个秋天。读万卷书,行万里路,方能见天地之广阔。


正文部分

一、分支管理

解决分支冲突

当Git无法自动合并分支时,就得先解决冲突。常见做法是先Pull后Push,中间可能需要把合并失败的文件手动编辑为我们希望的内容,再提交。
使用命令:git log –graph 。可以查看分支合并图。

分支策略

合并分支时应该加上参数:–no-ff,就可以使用普通模式合并,合并后的历史有分支,而fast - forward 合并就看不出来曾经做过合并。

Bug分支

修改Bug都应该到自己的小分支Branch去做,为了保留当前工作进度,即保护当前工作环境,可以使用命令: git stash. 使用命令: git stash list 。可以查看被保存的工作现场。如何恢复呢?使用命令:git stash apply stash@{num}. 这个命令不会删除原工作现场,需要你完成工作后手动删除:git stash drop stash@{num}; 或者直接使用命令:git stash pop @stash{num}.

Feature分支

Feature 分支与 Bug分支类似,有时候会提示需要强制删除,命令是:git branch -D . 该命令可以丢弃一个未被合并的分支。

多人协作

命令: git push origin master
该命令是把本地master分支推送到远程库Origin。
命令:git remote -v
如果没推送权限,看不到Push的地址。
如果推送失败

  • 有可能是小伙伴最新提交与你试图推送的提交有冲突,此时需要先 git pull 把最新的提交从 origin /branchName 抓取下来,然后在本地合并,解决冲突后,再推送。
  • 如果git pull 失败了(如果git pull提示no tracking information,则说明本地分支和远程分支的链接关系没有创建,用命令git branch –set-upstream-to origin/。),原因可能是本地的分支branchName 与远程的origi/branchName没有连接,这时会有提示信息,连接后再去Pull.
Rebase

命令:git rebase
把原来交错的提交操作合并到一条线上,方便管理。使用git log –graph –pretty=oenline –abbrev-commit .查看效果。

二、标签管理

标签管理,为啥要有这个呢?主要是为每个CommitID 取个名字,后来方便寻找和管理。有人类比这种关系是:IP与域名。

创建标签

首先切换到某个分支BranchName。
命令:git tag tagName
默认标签打到最新提交的commit上,如果要精确一些,使用命令:git log –pretty=oneline –abbrev-commit.
可以查看每次提交的commitID。然后呢,git tag tagName commitId.
命令:git tag
查看所有标签信息。
命令:git show
查看具体标签信息。

操作标签
命令:git tag -d <tagname>
删除某个标签。
命令:git push origin --tags
将所有tags 推送到远程仓库Origin。
命令:git push origin <tagname>
将某个标签推送到仓库Origin。
如果想要删除远程标签,按一下步骤:
  1. git tag -d .本地删除某标签。
  2. git push origin :refs/tags/ .然后是远程删除。

    三、结尾

    系列文章至此结束,具体怎么结尾,后面再补,这个锅扔给周末了。
    若问我学习这么多命令或者技能干什么?节省时间啊,省下来的时间去做别的事,享受生活。芭啦芭啦樱之花…..再见。

猜你喜欢

转载自blog.csdn.net/qq_37040173/article/details/81132889
今日推荐