1.创建本地分支
git branch 分支名,例如:git branch test123注:test123是分支名称,可以随便定义。
2.切换本地分支
git checkout 分支名,例如从master切换到分支test123:git checkout test123
假设远程分支有,但是本地分支没有:抓取远程分支信息并创建同名本地分支
git checkout -t origin/远程分支名称
在本地创建分支并拉取远程分支信息并切换到该分支
git checkout -b 本地分支名称 origin/远程分支名称
单独使用git checkout -b 分支名称是在本地创建并切换到该分支
查看版本信息:
git tag
3.远程分支就是本地分支push到服务器上。比如master就是一个最典型的远程分支(默认)。
git push origin test123
4.远程分支和本地分支需要区分好,所以,在从服务器上拉取特定分支的时候,需要指定远程分支的名字。
git checkout --track origin/test123
注意该命令由于带有--track参数,所以要求git1.6.4以上!这样git会自动切换到分支。
5.提交分支数据到远程服务器
git push origin <local_branch_name>:<remote_branch_name>
例如:
git push origin test123:test123
一般当前如果不在该分支时,使用这种方式提交。如果当前在 test123分支下,也可以直接提交
git push
6.合并分支
先切换到你要合并的分支,一般为mast(主分支)
git checkout mast
将test123分支合并到当前所在分支(当前所在为mast分支)
git merge test123
合并分支命令:
git merge 和git rebase
7.删除远程分支
git push origin :test123
-----------------------------------------------------------
1,从已有的分支创建新的分支(如从master分支),创建一个dev分支,并切换到该分支
Git checkout -b dev
2,创建完可以查看一下,分支已经切换到dev
git branch
* dev
master
查看本地分支
git branch
查看所有分支(远程和本地)
git branch -a
仅查看远程分支:
git branch -r
3,提交该分支到远程仓库
git push origin dev
4,测试从远程获取dev
git pull origin dev
如果当前的本地分支已经关联了远程分支使用git pull 默认获取同名的远程分支,或者指定获取远程分支git pull origin 远程分支名称
或者:
如果用命令行,运行 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/remote_branchname local-branchname
取消对master的跟踪
git branch --unset-upstream master
6,现在随便修改一下工程文件的内容,然后git commit ,git push,之后就可以直接提交到远程的remote_branchname分支中,而不会是master
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
bug修改
使用git pull 时遇到:
There is no tracking information for the current branch.
Please specify which branch you want to merge with.
See git-pull(1) for details.
git pull <remote> <branch>
If you wish to set tracking information for this branch you can do so with:
git branch --set-upstream-to=origin/<branch> orderdev
意思是当前分支没有做远程关联,提示你做远程关联或者指定拉去的分支
解决办法:
1、指定拉取的远程分支
git pull origin 远程分支名称
2、关联远程分支
git branch --set-upstream-to=origin/远程分支名称 你创建的本地分支名称
之后可以看到:
From gitlab.com:远程地址
* branch 远程分支名称-> FETCH_HEAD
Already up-to-date.
远程分支已经指向了新的提交
之后就可以使用git pull默认拉取你关联的远程分支或者git push 提交到默认的远程分支
其实最简单的在本地创建新的分支并提交到远程仓库:
1、切换到master分支(创建的分支需要最新的代码)
git branch master
2、创建新的分支,例如test
git branch test
3、切换到新创建的test分支
git checkout test
4、将分支推送到远程
git push origin test:test