Learn Git (二):新建、删除、合并分支及本地修改后上传到github

一、新建一个分支并同步到git

本例是在上一篇中创建的master分支基础上再新建一个dev分支

1、查看当前所在分支

git branch

git branch命令会列出本地的所有分支,当前所在分支前面会标一个*号。

2、新建一个分支

git checkout -b dev

git checkout命令加上-b参数表示创建并切换,相当于执行下面这两条命令:

git branch dev        //创建dev分支

git checkout dev    //切换到dev分支

3、将分支同步到git

现在直接执行push命令:

git push origin dev

执行完之后,登陆github查看,就能看到多了个dev分支。或者也可以用git branch命令查看。


二、删除分支

1、删除本地分支

删除一个分支之前需要先切换到其他分支上,以删除dev分支为例。

git checkout master        //切换到master分支

git branch -d dev            //删除dev分支

如果要删除的分支上还有没merge的改动,会删除失败,git也会给出相关提示。这时候就需要把删除命令的参数中小写的-d换成大写的-D。

git branch -D dev            //删除dev分支

2、删除远程分支

git push origin --delete <BranchName>


三、本地修改后上传git

修改一个文件内容,提交并加提交注释

git add .        // 新增一个文件的话需要先add。如果是编辑一个已添加过的文件就不需要执行这条命令了。

git commit -a -m "edit a file"

git push origin dev


四、合并分支

合并分支有两种方法,一种是git merge,一种是 git rebase。

1、git  merge

将分支dev上修改的代码合并到主干master,执行完上面第三步的push之后,先切到主干master分支,然后再执行merge,提交并添加注释,最后push到git。

git checkout master

git merge --squash dev

git commit -m  'merge dev'

git push origin master

注:在开发一个功能的时候可能会多次提交代码,向master做分支合并的时候,就会出现很多commits,--squash参数是为了将一个功能的所有提交压缩成一个commit合并到master上。

2、git  rebase

将分支dev上修改的代码合并到主干master,执行完上面第三步的push,将分支dev的改动同步到git之后,分支状态为:C0 --> C1 --> master,C0 --> C2 --> dev,(新增dev分支后,master分支上也有改动)。先在dev分支上执行git rebase master 命令,分支状态变为C0 -->C1 --> master --> C2' --> dev,然后再切换到master 分支,执行git rebase dev 命令,分支状态变为C0 --> C1 --> C2' --> master/dev。

git  checkout  dev

git  rebase  -i  master

    (git push origin dev)-- 根据需要是否push到远程

git  checkout  master

git  rebase  -i  dev

    (git push orgin master)

执行过程中,可随时用 git status 命令,查看当前的状态。


查看当前git状态:

git status


    <上一篇> <下一篇>

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。