Git fetch
本地分支 master 的版本号无变化,而远程分支已经更新。所以,fetch 命令的作用是刷新保存在本地仓库的远程分支信息,此命令需要联网。
此时若想使本地 master 分支的提交版本为最新,可以执行 git pull 命令来拉取远程分支到本地,pull 是拉取远程仓库的数据到本地,需要联网,而由于前面执行过 git fetch 命令,所以也可以执行 git rebase origin/master 命令来实现 “使本地 master 分支基于远程仓库的 master 分支”,rebase 命令在后面还会经常用到,这里只需按部就班操作即可:
回去原来的分支
分支在项目开发中作用重大,多人协作时尤其不可或缺。例如一个项目上线了 1.0 版本,研发部门需要开发 1.1、1.2 两个测试版,增加不同的新功能,测试版的代码显然不能在正式版所在的分支上,此时需要新的分支来存放不同版次的代码。再例如实验楼的课程团队在维护课程仓库时,每个人都有各自的分支,在自己的分支上进行修改,然后向 master 分支提 PR(pull request),最后从 master 分支推送到线上。
在各自分支上创建文件,修改然后commit ,这些文件只会出现在当前的分支下。
git branch [分支名]
git branch dev
git checkout [分支名] 切换到这个分支
git checkout -b [分支名] 创建分支并切换到新分支:
如上图所示的分支信息,前两行是新建的本地分支信息,它们的版本号与主分支 master 一致,这是因为在哪个分支上创建新分支,新分支的提交记录就与哪个分支一致。新建分支并无跟踪任何远程分支,所以没有 master 分支中的中括号和括号内的蓝色远程分支名
新功能已经写好并提交到了版本区,现在要推送了,推送到哪里呢?正常逻辑当然要推送到远程仓库的同名分支,不过现在远程仓库里只有一个分支:
远程仓库只有主分支,接下来要上传新分支的新文件
接下来设置本地跟踪远程的分支
之后该分支上传就不用再需要敲长长的命令了当然分支设置跟踪之后也可以设置取消
删除分支:
在之前git push 用户 :dev1 这样子之间加一个: 来完成删除远程分支的操作
使用 git branch -D [分支名] 删除本地分支,同样地,此命令也可以一次删除多个,将需要删除的分支名罗列在命令后面即可。在此之前,先介绍一个极少用到的命令:给本地分支改名 git branch -m [原分支名] [新分支名] ,若修改当前所在分支的名字,原分支名可以省略不写:
git branch -avv
网友评论