git标签和分支命令

本编记录git标签和分支的基本命令

=====git 标签基本命令


#查看总共有哪些标签, -l参数用于过滤,比如这里是查看以v开头的所有分支
git tag  -l v* 

#创建一个临时标签,最简单的创建标签的方法
git tag v1

#创建一个附注标签,可以带一些基本信息,后面也可以用于校验的
git tag v2 -a -m "zxc v2"

#根据提交的hash值创建一个标签
#先用git log ->  123124078 查看要打上哪个提交记录的标签

git tag t1 123124078

#删除一个标签
git tag -d v1

#查看标签里面的内容
git show v1

#把本地标签推送到远程上, origin为仓库的名字
git push origin v1

#把本地所有标签推送到远程上,远程存在的不会变为2份
git push --tags

#git中tag无法切换到上面开发(这跟svn差别很大,svn是可以的)
#git中只能以tag再建立一个分支出来进行开发

#建立并切换到上面去
git checkout -b 分支名  tag名




==============git恢复到上一次版本

#可以用
git reset --hard id(提交版本号,从git log 获取的那一长串)
但是这样恢复后会丢失log日志,所以一般建议都是直接建个分支再往回合并


例子如下


A --- B --- C --- D
                (HEAD)

git checkout -b ttt B
git reset --soft D
然后 commit 得到
ttt: A --- B --- C --- D --- B'
                           (HEAD)
把这个branch推到repo的master
git push origin HEAD:master 或者
git push origin ttt:master 都行
完事之后删掉这个临时的ttt branch即可


要么只恢复某个文件也是可以的,再提交一次就行了!

基础分支命令

对于git来说,创建分支其实很快的,只是建立了一个提交hash引用,几乎在瞬间完成的,这
跟svn是有很大不同的,svn是直接copy一份文件出来的,,,,

当前分支还有一个别名叫  HEAD,用于专门表示你所在的分支的

======git 分支命令

#查看所有分支, --list可加可不加,   origin/test之类的代表是远程分支
git branch --list

#创建一个分支
git branch test

#切换分支
git checkout test

#创建并同时切换到该分支上
git checkout -b dev

#查看未合并的分支
git branch --no-merged

#查看已合并的分支
git branch --merged

#简单的查看提交历史信息   --all查看所有日志信息,包括未合并的分支提交信息
git log --oneline --decorate --graph --all


#删除分支
git branch -d test

#查看当前分支跟踪哪些远程分支中
git branch -vv

#查看远程有哪些分支
git branch -r


========远程分支相关


#拉取一个项目 -o zxc 未仓库命名为zxc 默认不加为 origin
git clone -o zxc xxx.git

#把本地分支推送到远程分支上, origin 为远程仓库名称
git push origin zxc
git push origin local:remote-batchName -> 可以修改要推送到远程的分支名称

#当远程有新分支时拉下来本地不会自动创建对应的分支
#但是可以手工创建一个分支并以远程的分支引用作为跟踪分支(也叫上游分支)
git checkout -b serverfix origin/serverfix

#如果不需要改名的话,可以直接用 --track 参数拉取一个本地分支根据远程的分支
git checkout --track origin/serverfix

#把当前分支关联到远程分支上
git branch -u origin/serverfix

常用远程分支

1. 查看本地分支的追踪分支

git branch -vv


2. 拉取远程分支到本地

git checkout -b test origin/test

其中 test为本地分支名,origin/test 为仓库名称以及分支名称,操作以后会自动切换到该分支并且设置为追踪分支


3. 远程分支删除本地感应不到

git remote update origin --prune  

执行这个命令即可 origin 为仓库名称

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值