一、git新建分支,上传代码到新的不同分支
我要实现的效果,即是多个内容的平行分支;这样做的主要目的是方便统一管理属于同一个内容的不同的项目,互不干扰。如图所示:

前提是我的github上已经有webpack_test项目了,我是在这个项目的基础上新建其他的分支并开展工作的。如图:

如果你对如何新建webpack_test项目不清楚,请参考我的前一篇文章:git入门学习(一):github for windows上传本地项目到github,操作步骤如下:
1.1、保留webpack_test项目下的基础文件(.git文件夹、.gitattributes、.gitignore),用新项目的内容替换其他内容。

1.2、创建并切换分支本地分支并推送到远程服务器;
- git branch : 查看我们的git仓库有几个分支,而我们目前工作处于那个分支,前面有个*号的就为我们目前所处的分支。git branch -a : 查看远程分支。
- git branch name : 创建分支,而这个分支的指针就指向最新的commit对象,也就和HEAD指向同一对象。如git branch test,表示创建本地test分支。
- git checkout name : 切换到目的分支,我们默认的主分支为master。
- git checkout –b name:创建并切换分支。
- git push origin name: 将本地name分支推送到远程服务器。
1.3、查看文件更改状态并添加本地需要上传的文件夹
- git status : 查看文件更改状态。在添加文件之前或之后,我们会用git status 查看有变化的文件(一般有变化的文件会以红色显示出来)。
- git add fileName : 添加本地需要上传的文件夹(代码文件添加方式 git add 文件1 文件2....)。
git add -A: [<path>]表示把<path>中所有tracked文件中被修改过或已删除文件和所有untracted的文件信息添加到索引库。省略<path>表示.,即当前目录。
添加文件之前的状态,显示刚刚删除和新增的文件。如图所示:

添加文件之后的状态,显示刚刚删除和新增的文件。如图所示:

1.4、提交修改描述并成功推送到远程分支
- git commit -m ‘提交数据结构表设计文档到test分支上’为提交的修改描述。
提示:如果在这一步出错的话:git reset --hard HEAD 回滚到add之前的状态
- git push : 成功将文件提交到了分支上,别人通过git pull 命令就可以把你提交的文件拉到他本地。
提示:上传到远程服务器,如果出现报错fatal: The current branch test has no upstream branch.是因为提交到分支需要给出--set-upstream origin <分支名>,所以执行以下语句:
- git push --set-upstream origin webpack-babel-loader
提交修改描述。如图所示:

上传文件到远程服务器。如图所示:

再去浏览器端查看情况,发现新建了远程分支webpack-babel-loader并且上传了属于它的内容。如图:

二、删除分支
2.1、删除本地分支
- git branch -D name : 强制删除本地分支(如果有错误提示表示当前分支正在使用中,需要先切换到master分支,在执行删除)。如git checkout master ,git branch -D webapack-babel-loader

2.2、删除远程分支
- git push origin :name,删除远程的分支,注意冒号前面的空格不能少,原理是把一个空分支push到server上,相当于删除该分支。

总结:本文主要讲解了如何在已有分支的基础上新建其他的分支,并上传代码到其他的分支上,实现各不干扰的目的,同时便于相同内容的统一管理。然后如何进行本地分支和远程分支的删除操作。希望对您有所帮助,后续深入内容待续...