zoukankan      html  css  js  c++  java
  • git 如何同步本地tag与远程tag

    问题场景:
    同事A在本地创建tagA并push同步到了远程->同事B在本地拉取了远程tagA(git fetch)->同事A工作需要将远程标签tagA删除->同事B用git fetch同步远端信息,git tag后发现本地仍然记录有tagA

    分析:对于远程repository中已经删除了的tag,即使使用git fetch --prune,甚至"git fetch --tags"确保下载所有tags,也不会让其在本地也将其删除的。而且,似乎git目前也没有提供一个直接的命令和参数选项可以删除本地的在远程已经不存在的tag(我目前是没找到有关这类tag问题的git命令~~,有知道的同学可以告知我下,互相进步)。
    解决方法:

    git tag -l | xargs git tag -d #删除所有本地分支
    git fetch origin --prune #从远程拉取所有信息

    #查询远程tags的命令如下:
    git ls-remote --tags origin

    tag常用git命令:
    git tag #列出所有tag
    git tag -l v1.* #列出符合条件的tag(筛选作用)
    git tag [tag名] #创建轻量tag(无-m标注信息)
    git tag -a [tag名] #创建含注解的tag

    git push origin --tags #推送所有本地tag到远程
    git push origin [本地tag名] #推送指定本地tag到远程

    git tag -d [本地tag名] #删除本地指定tag
    git push origin :refs/tags/[远程tag名] #删除远程指定tag

    git fetch origin [远程tag名] #拉取远程指定tag
    git show [tag名] #显示指定tag详细信息

  • 相关阅读:
    基于WINCE6.0+S3C2443的camera驱动
    WINCE下基于SL031的RFID功能的实现
    WINCE6.0+S3C2443下的activesync问题
    WINCE6.0+S3C2443下WatchDog学习
    错误的抉择,痛悔
    WINCE5.0下SQL server compact版本更新
    做生意和打工的区别
    WINCE基于MC8630的3G模块的控制和加载
    Xml Tips
    VB.NET and C# Comparison
  • 原文地址:https://www.cnblogs.com/xiaouisme/p/10857149.html
Copyright © 2011-2022 走看看