博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
git
阅读量:5287 次
发布时间:2019-06-14

本文共 3288 字,大约阅读时间需要 10 分钟。

 

git checkout -b iss53 == git branch iss53 && git checkout iss53

git merge hotfix

git branch -d hotfix

查看所有分支:git branch -a

 切换分支 :  git checkout master //进入master分支

 重命名本地分支:git branch -m devel develop

 获取远程tag  :git fetch origin tag <tagname>

 把本地tag推送到远程:git push --tags

 

删除远程分支和tag

在Git v1.7.0 之后,可以使用这种语法删除远程分支:git push origin --delete <branchName>

删除tag这么用:git push origin --delete tag <tagname>

 

否则,可以使用这种语法,推送一个空分支到远程分支,其实就相当于删除远程分支:git push origin :<branchName>

 

这是删除tag的方法,推送一个空tag到远程tag:git tag -d <tagname> git push origin :refs/tags/<tagname>

两种语法作用完全相同。

 

删除不存在对应远程分支的本地分支

 

假设这样一种情况:

  1. 我创建了本地分支b1并pull到远程分支 origin/b1
  2. 其他人在本地使用fetch或pull创建了本地的b1分支;
  3. 我删除了 origin/b1 远程分支;
  4. 其他人再次执行fetch或者pull并不会删除这个他们本地的 b1 分支,运行git branch -a 也不能看出这个branch被删除了,如何处理?

 

使用下面的代码查看b1的状态:

 

$ git remote show origin* remote origin  Fetch URL: git@github.com:xxx/xxx.git  Push  URL: git@github.com:xxx/xxx.git  HEAD branch: master  Remote branches:    master                 tracked    refs/remotes/origin/b1 stale (use 'git remote prune' to remove)  Local branch configured for 'git pull': master merges with remote master Local ref configured for 'git push': master pushes to master (up to date)

 

这时候能够看到b1是stale的,使用 git remote prune origin 可以将其从本地版本库中去除。

 

更简单的方法是使用这个命令,它在fetch之后删除掉没有与远程分支对应的本地分支:git fetch -p

 $ git pull -p

# 等同于下面的命令
$ git fetch --prune origin
$ git fetch -p

 

 

删除本地分支

git br -d <branch name>

 

本地分支的创建

git checkout -b <branch name> 的那个分支

如果在master分支下checkout,即:

git checkout master //进入master分支

git checkout -b frommaster //以master为源创建分支frommaster

git log后发现frommaster中有一个提交:

master 分支将会和 frommaster 分支内容一致

这说明他是从master分支为源头创建的

 

远程分支的创建

从远程分支检出的本地分支,称为跟踪分支(tracking branch)。跟踪分支是一种和远程

分支有直接联系的本地分支。在跟踪分支里输入git push,Git 会自行推断应该向哪个服
务器的哪个分支推送数据。反过来,在这些分支里运行git pull 会获取所有远程索引,并

把它们的数据都合并到本地分支中来.

$ git push ssh://git@dev.lemote.com/rt4ls.git master // 把本地仓库提交到远程仓库的master分支中
$ git remote add origin ssh://git@dev.lemote.com/rt4ls.git
$ git push origin master
这两个操作是等价的,第二个操作的第一行的意思是添加一个标记,让origin指向ssh://git@dev.lemote.com /rt4ls.git,也就是说你操 作origin的时候,实际上就是在操作ssh://git@dev.lemote.com/rt4ls.git。origin在这里完全可以理解为后者 的别名。

    需要说明的是,默认情况下这条语句等价于提交本地的master仓库到远程仓库,并作为远程的master分支。

我从master分支创建了一个issue5560分支,做了一些修改后,使用git push origin master提交,但是显示的结果却是'Everything up-to-date',发生问题的原因是git push origin master 在没有track远程分支的本地分支中默认提交的master分支,因为master分支默认指向了origin master 分支,这里要使用git push origin issue5560:master 就可以把issue5560推送到远程的master分支了。

    如果想把本地的某个分支test提交到远程仓库,并作为远程仓库的master分支,或者作为另外一个名叫test的分支,那么可以这么做。
$ git push origin test:master         // 提交本地test分支作为远程的master分支
$ git push origin test:test              // 提交本地test分支作为远程的test分支
如果想删除远程的分支呢?类似于上面,如果:左边的分支为空,那么将删除:右边的远程的分支。
$ git push origin :test              // 刚提交到远程的test将被删除,但是本地还会保存的,不用担心

1,从已有的分支创建新的分支(如从master分支),创建一个dev分支

git checkout -b dev

2,创建完可以查看一下,分支已经切换到dev

git branch

    * dev

    master

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

 
分类: 

转载于:https://www.cnblogs.com/jayruan/p/5224031.html

你可能感兴趣的文章
iostat查看linux硬盘IO性能
查看>>
关于jquery的on,你怎么绑定就怎么解除
查看>>
java.lang.IllegalStateException: SpringJUnit4ClassRunner requires JUnit 4.12 or higher.
查看>>
【转】Algorithms -离散概率值(discrete)和重置、洗牌(shuffle)算法及代码
查看>>
批量新增,每500条数据新增一次
查看>>
ajax中获取和发送二进制数据的方法
查看>>
poj 1201 Intervals( spfa + 差分约束)
查看>>
TabHost的坑
查看>>
Centos7中PHP编译安装mysqli扩展报错
查看>>
Redis学习之字符串
查看>>
Thinking in Java第三章总结
查看>>
草根自媒体很难再出“达人”嘛?冯东阳+4个月+草根=月收过万+粉丝总浏览突破“百万”…………...
查看>>
关于基本数据类型
查看>>
九九乘法表
查看>>
jquery原创实用插件之03 屏蔽默认右键菜单,自定义右键菜单
查看>>
【MySQL】使用mysqlbinlog回滚
查看>>
sftp上传 - 待完
查看>>
Spring 系列: Spring 框架简介
查看>>
编程总结2
查看>>
SUSE12Sp3-MongoDB安装
查看>>