Git与远程reposiory的相关命令
问题1:Git如何同步远程repository的分支(branch)
某天,小C同学问我,为啥VV.git仓库里面本来已经删除了branchA这个分支,但是我的mirror中还是有这个分支呢?
分析:我本来是使用“git fetch”命令来下载或更新远程的代码仓库,一般来说,新增的branch/tag等都是可以正常下载并更新的。只是某个分支在远程repository中已经被删除了,直接”git fetch”是不能将远程已经不存在的Branch等在本地删除的。
解决方法:
<pre name="code" class="cpp"><pre name="code" class="csharp">git fetch --prune #这样就可在本地删除在远程不存在的branch
man git-fetch
--prune
After fetching, remove any remote tracking branches which no longer exist on the remote.
-t, --tags
Most of the tags are fetched automatically as branch heads are downloaded, but tags that do not
point at objects reachable from the branch heads that are being tracked will not be fetched by
this mechanism. This flag lets all tags and their associated objects be downloaded.
#另外,关于git branch的几个命令
git branch # 查询本地存在的branch
git branch -r # 查询远程的branch
git branch -a # 查询本地和远程branch
git branch -d -r origin/todo #删除远程的todo branch
问题2:Git如何同步远程repository的标签(tag)
某天,又是小C同学在问我,为啥VV.git仓库里面本来已经删除了tagA这个标签,但是我的mirror中还是有这个标签呢(其实他自己打标签时有出了点疏漏,他发现后,就删除了tagA重新打一个tagB,而不想别人在我的mirror中看到那个不正确的tagA标签)?
分析:我依然是使用”git fetch –prune”来做的,正常情况下该挺正常的才对,而且我还接着使用了”git fetch –tags”来保证下载所有的tag;不过,对于远程repository中已经删除了的tag,即使是”git fetch –tags”也不会让其在本地也将其删除的。而且,似乎git目前也没有提供一个直接的命令和参数选项可以删除本地的在远程已经不存在的tag(如果有知道的同学,麻烦告知一下,以便相互学习)。
解决方法:我是用了一个简单粗暴的方法 —— 先删除本地所有的Tag,然后重新fetch即可。(当然,也可以写个简单的脚本实现:先做本地tag和远程tag的比较,然后删除本地的在远程repo中已经不存在的tag,保留着远程存在的tag。)
<pre name="code" class="css">git tag -l | xargs git tag -d #delete local tag(s)
git fetch vgt --prune #fetch from remote repo
#查询远程heads和tags的命令如下:
git ls-remote --heads origin
git ls-remote --tags origin
git ls-remote origin
问题3:Git如何同步远程repository的branch
远程仓库 git clone 下来,当你执行 git branch,你只会看到
* master
并不会看到其他分支,即便远程仓库上有其他分支,使用
git branch -va
可以查看本地+远程分支列表
* master 0840594 merge master and 1.0.0
remotes/origin/1.0.0 743012a 'update'
remotes/origin/2.0.0 2787838 udpate
remotes/origin/HEAD -> origin/master
remotes/origin/master 0840594 merge master and 1.0.0
使用命令可以切换并且同步到本地
git checkout -b 2.0.0 origin/2.0.0
使用下面命令可以直接将远程分支直接同步下来
git branch remotes/origin/2.0.0
问题4:Git如何删除远程repository的branch
git push origin :remote-branch 或者 git push --delete origin remote-branch
Git与远程reposiory的相关命令的更多相关文章
- git 提代码时的相关命令,Mark一下
以前用命令提代码都是复制粘贴,现在换了工作后,特别是回退代码的命令又忘了,去网上查了好久,心累.特此Mark一下 1. 打patch: 1.1 git diff >> ljh.patch ...
- 架构(四)Git简介,安装以及相关命令SourceTree
一 Git介绍 1.1 Git是什么? Git是一个分布式版本控制软件: 版本控制:假如开发人员开发了一个a功能,结果项目经理觉得不够需要修改,开发人员又改成了b功能,后来又改成了c功能,但是最终项目 ...
- Git操作简单入门及相关命令
说明:本文内容主要来自文末参考链接内容,此文仅作学习记录.如有转载,请到文末参考链接处. 1 基本概念理解 1.1 Git介绍 Git是分布式版本控制系统. 集中式VS分布式,SVN VS Git. ...
- 为git创建远程仓库
首先生成ssh公钥: 将公钥添加到git: 测试秘钥是否通过: 然后就可以到web界面看到标注的地方被绿了: 但是我的没有绿,不知道为啥,难道没有女朋友的原因吗? rm -rf .ssh 重来好几遍都 ...
- git创建远程项目并进行代码管理及相关命令
1.windows下载Git https://git-scm.com/downloads 然后一路点击安装 2.登录github,点击右上角创建仓库 3.在本地项目根目录下 输入如下命令 ss ...
- git远程操作相关命令(remote 、push、fetch 、pull)
git remote 为了便于管理,Git要求每个远程主机都必须指定一个主机名.为了便于管理,Git要求每个远程主机都必须指定一个主机名. git remote[查看创库名] git remote 在 ...
- IDEA环境下GIT操作浅析之二-idea下分支操作相关命令
上次写到<idea下仓库初始化与文件提交涉及到的基本命令>,今天我们继续写IDEA环境下GIT操作之二--idea下分支操作相关命令以及分支创建与合并. 1.idea 下分支操作相关命令 ...
- Git配置信息相关命令
查看git所有配置项 $ git config -l or $ git config --list 全局配置用户名邮箱 $ git config --global user.name "yo ...
- Git相关命令教程
一.在GitHub上创建新项目 (1)在GitHub首页 “New repository”,创建新版本库“test” (2)在本地使用GitBash,将repository clone到本地 git ...
随机推荐
- Android线性布局
线性布局 LinearLayout 是一个视图组,用于使所有子视图在单个方向(垂直或水平)保持对齐. 您可以使用 android:orientation 属性指定布局方向. LinearLayout ...
- ROS(indigo) 用于机器人控制的图形化编程工具--code_it robot_blockly
0 简介: 编程语言有汇编,高级语言,解释语言等,现在图形化编程也越来越流行.图形化编程简单易学.8年前,微软推出了VPL用于机器人程序设计,如Python和JavaScript都可以用图形化框图实现 ...
- SublimeText3解决中文乱码
1)安装Sublime Package Control. 在Sublime Text 3上用Ctrl+-打开控制台并在里面输入以下代码,Sublime Text 2就会自动安装Package ...
- linux 服务器网络有关的内核参数
几乎所有的内核模块,包括内核核心模块和驱动程序,都在/proc/sys 文件系统下提供了某些配置文件以提供用户调整模块的属性和行为.通常一个配置文件对应一个内核参数,文件名就是参数的名字,文件的内容是 ...
- [安全]Back_Track_5 vm 版安装和使用
下载安装 下载使用国内的镜像 http://mirrors.ustc.edu.cn/kali-images/kali-1.0.9/ 我这里是vm9.0 下载之后解压,然后打开vm,然后 文件--&g ...
- studio中碰到的jni问题:java.lang.UnsatisfiedLinkError
转载请把头部出处链接和尾部二维码一起转载,本文出自逆流的鱼yuiop:http://blog.csdn.net/hejjunlin/article/details/52606328 studio中碰到 ...
- Java基础----Java---集合框架---泛型、泛型方法、静态方法泛型、泛型接口、泛型限定、泛型类
泛型:jdk1.5后的新特性,用于解决安全问题,是一个安全机制. 好处: 1.将运行时的异常出现问题classcastException.转移到了编译时期.方便程序员调试解决问题,让运行事情问题减少, ...
- 【java集合框架源码剖析系列】java源码剖析之LinkedList
注:博主java集合框架源码剖析系列的源码全部基于JDK1.8.0版本. 在实际项目中LinkedList也是使用频率非常高的一种集合,本博客将从源码角度带领大家学习关于LinkedList的知识. ...
- java 之容器
在Java中,我们想要保存对象可以使用很多种手段.我们之前了解过的数组就是其中之一.但是数组具有固定的尺寸,而通常来说,程序总是在运行时根据条件来创建对象,我们无法预知将要创建对象的个数以及类型,所以 ...
- UE4使用widget创建UI界面播放视频
我的目的非常简单,点击按钮,播放或暂停场景中的视频 1.准备了一个mp4视频资源,为视频资源创建了一个Media Texture,在Media Player中选择导入进来的视频资源,再为Media T ...