1. 使用TortoiseGit(小乌龟)操作分支的创建
最近遇到了一件令我欣喜的事情,某重要机构看中了我的开源项目,想要和我共同维护迭代,整一个改变世界的产品,我一想这还了得,分分钟答应啊。
但是遇到了一个问题,之前呢都是我一个人在玩,只有一个master分支(我懒啊),问题倒也不大,但是如果很多人一起开发这就比较难为情了,只有一个master分支不太合适了。不利于以后的迭代维护。改变世界啊哈哈哈。
闲话少叙上干货如下图,现在的我的github库上面只有一个master分支
由于是穷屌丝用不起mac,所以我windows为例进行相应的演示:
下图就是本地使用小乌龟的版本管理工具在只有一个分支的情况下执行命令:Switch/Checkout 显示的内容。
下面分为三个步骤进行创建分支操作
第一步:创建本地分支:点击右键选择TortoiseGit,选择Create Branch…,在Branch框中填写新分支的名称(若选中”switch to new branch”则直接转到新分支上,省去第二步),点击OK按钮:
第二步:通过“Switch/Checkout”切换到新创建的分支上(我新建的是dev分支),点击OK:
在相应的文件夹中 单击右键 看看是不是已经成功的切换分支,如下图 我已经成功的切换了分支。
第三步:在新分支下执行PUSH操作,在对话框中保持远程分支为空白,点击OK,则将在远程创建了新的分支(在PUSH的时候远程服务器发现远程没有该分支,此时会自动创建一个和本地分支名称一样的分支,并将本地分支的内容上传到该分支)。
再回到自己的github上面,看看自己的项目是不是多了一个分支
右键执行switch/Checkout 已经有了这个分支的名字(开不开心);
喜欢的就给我点个赞吧,码字截图不容易。
2. Git创建分支
一、 创建test分支提交步骤
1.列出所有分支
2.创建test分支
3.切换到test分支:
4.添加add修改:
5.添加commit注释
6.提交到服务器
二、将test分支合并到master本地分支
1.创建test分支
2.切换到test分支
3.在test分支添加一个readme.txt文件
4.提交commit本地文件
5.切换到master分支
6.把test分支合并到master分支
7.提交master分支到服务器
8.删除test分支
————————————————
原文链接: https://blog.csdn.net/yangjuan814/article/details/93538221
3. 2018-10-08 git快速创建分支的脚本
将脚本保存为shell格式,比如gitCreateBranch.sh。使用时直接"当前脚本的路径/gitCreateBranch.sh 你分支的名称",即可创建一个分支。
#! /bin/bash
# 保存当前目录
echo "Start to create branch"
echo $1
# 切换到项目目录
cd ~/Documents/xxxxxx/xxxx/xxx
# 执行git命令
# 将当前的分支stash
git stash
# 先切换到master分支
git checkout master
# 新建的分支
git branch $1
# # 切换到新建的分支
git co $1
# 显示创建的分支,看是否已经切换成功
git branch -vv
# stage新建分支信息
git st
git add .
git commit -m "branch create "$1
# 设置依赖master分支
git b --set-upstream-to=master
# 将分支上传到服务器
git push origin $1
# 显示全部服务器分支
git b -a | grep -i $1
# 删除缓存
echo "Create branch "$1" Success";
4. git怎么创建分支
打开git bash
使用git branch 分支名称创建分支,创建完成后通过git branch可以看到本地已经多出了一个新建的分支
5. 如何在Git上创建子分支
在使用Git平台时,为了不污染我们的主分支,我们一般都拷贝一个master的副本(创 建分支),然后修改副本的代码,这样我们一直操作的就不是 master分支,而是master分支的副本了。我们将这个副本分支称之为”子分支”。
方法/步骤
1
点击Git Flow 创建分支:
1. develop : 创建一个develop分支,在develop分支上进行开发
2. feature : 然后在develop上附属创建一些特性分支,比比如我们可 以为登陆功能创建一个login分支,为注册功能创建一个register分支, 为用户管 理创建一个user分支,这些功能分支都属于feature分支
3. release : 我们每次产品发布时都会将代码更新到master上进行打 包上传,然后更新打包代码到release分支上,这样就可以在以后只查 看释放 分支来查看每次上线时产品的代码了.
4. hotfix : 在代码更新到master分支后,突然发现代码中有bug,这是 我们直接创建一个热修复分支,改完这个bug后立即更新到master分 支了.
6. Git分支的创建以及分支冲突解决
在Git中的每次提交,Git都会把它们串成一条时间线,这条时间线就是一个分支,但是到目前为止,我们只有一条分支 master 分支,也就是我们的主分支,在实际的项目开发过程中,我们并不会在 master 分支上进行开发,而是会新创建一个分支,然后在这个新创建的分支上开发测试,全部没有问题后,再合并到主分支上。比如我要开发一个项目中的一个功能,我就要新创建一个属于我的分支,这个分支会拷贝主分支的一个完全的副本,我在这个分支上进行的各种操作,不会对其他人的开发造成影响,当我的功能开发测试完成后,就把我的分支合并到 master 主分支上。
在我们以前看到的, git log 中, HEAD 严格来说不是指向提交,而是指向 master , master 才是指向提交的,所以 HEAD 指向的就是当前的分支。
使用Git进行团队开发的过程中,Git是鼓励大量使用分支的:
查看分支: git branch ,*的意思是当前停留在哪个分支上。
7. Git创建远程分支
$ git branch
* master
release
$ git status
新建远程分支
新建一个本地分支:
$ git checkout -b localbranch
查看一下现在的分支状态:
$ git branch
星号(*)表示当前所在分支。现在的状态是成功创建的新的分支并且已经切换到新分支上。
把新建的本地分支push到远程服务器,远程分支与本地分支同名(当然可以随意起名):
$ git push origin localbranch:localbranch
使用 git branch -a 查看所有分支,会看到 remotes/origin/localbranch 这个远程分支,说明新建远程分支成功。
删除远程分支
我比较喜欢的简单方式,推送一个空分支到远程分支,其实就相当于删除远程分支:
$ git push origin :localbranch
也可以使用:
$ git push origin --delete localbranch
这两种方式都可以删除指定的远程分支
git使用文档 - git创建远程分支
https://www.showdoc.cc/xuliulei?page_id=1565517113560223
8. git 创建分支并推送到远程分支
现在我在master分支上,工作目标是干净的,也没有需要 commit 的:
新建一个本地分支:
查看一下现在的分支状态:
星号(*)表示当前所在分支。现在的状态是成功创建的新的分支并且已经切换到新分支上。
把新建的本地分支push到远程服务器,远程分支与本地分支同名(当然可以随意起名):
使用 git branch -a 查看所有分支,会看到 remotes/origin/dev1.0 这个远程分支,说明新建远程分支成功。
我比较喜欢的简单方式,推送一个空分支到远程分支,其实就相当于删除远程分支:
也可以使用:
这两种方式都可以删除指定的远程分支
在记录一次:删除本地分支,并重新推送远程分支
9. 如何用git,在服务器上面创建一个分支
1,从已有的分支创建新的分支(如从master分支),创建一个dev分支
git checkout -b dev
2,创建完可以查看一下,分支已经切换到dev
git branch
3,提交该分支到远程仓库
git push origin dev
4,测试从远程获取dev
git pull origin dev
或者:
如果用命令行,运行 git fetch,可以将远程分支信息获取到本地,再运行 git checkout -b local-branchname origin/remote_branchname 就可以将远程分支映射到本地命名为local-branchname 的一分支
5,我觉得现在重要的就是设置git push,pull默认的提交获取分支,这样就很方便的使用git push 提交信息或git pull获取信息
git branch --set-upstream-to=origin/dev
取消对master的跟踪
git branch --unset-upstream master
6,现在随便修改一下工程文件的内容,然后git commit ,git push,之后就可以直接提交到远程的dev分支中,而不会是master