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 ...
随机推荐
- Ubuntu Intel显卡驱动安装 (Ubuntu 14.04--Ubuntu 16.10 + Intel® Graphics Update Tool)
最近使用在使用Ubuntu时,发现大部分情况下,不安装显卡驱动,使用默认驱动,都是没有问题的,但对于一些比较奇特配置的电脑,如下所示,如果使用默认驱动,会时常莫名其妙死机crash,尤其是在使用Ope ...
- BASH如何获得某个目录下的某类文件的文件名
假设某个目录下有一堆以jpeg为后缀的文件名,我们需要在另一个目录中获得他们的文件名,并输出. 可以联合使用ls,awk,sed等命令来完成. 方法一: 使用ls列出目录下以.jpeg为结尾的文件,然 ...
- Android使用HttpClient以Post、Get请求服务器发送数据的方式(普通和json)
讲这个之前,我们先来说说get和post两种请求的区别吧!!! 1. GET提交的数据会放在URL之后,以?分割URL和传输数据,参数之间以&相连,如EditPosts.jsp?name=te ...
- 安卓如何快速更新SDK
打开SDK Manager,点击tools->options打开,如图: Proxy Setting如下设置: HTTP Proxy server:mirrors.neusoft.edu.cn ...
- windows平台下 c/c++进行http通信的教训
由于需要使用c++开发一个桌面应用软件,需要用到http请求进行通讯,也是本人第一次进行网络相关的开发工作,遇到了不少坑. 由于是在windows下开发和使用的应用软件,自然而然想到了调用Window ...
- Android-满屏幕拖动的控件
本文转载自师兄一篇博客:http://blog.csdn.net/yayun0516/article/details/52254818 觉得跟之前的模拟小火箭很相似,又有学习的地方,能作为知识补充.所 ...
- 【移动开发】ViewPager缓存机制
1. 实现ViewPager的页面懒加载:在某些情况下,例如使用ViewPager查看多张大图,此时多张图片不能一次性载入,只有在浏览该页面时才载入(或者预先载入下一页面)页面的具体内容.2. ...
- 根据iOS 10 的新特性,创建iMessage App,可用于自定义表情
第一. 介绍(原文作者 澳大利亚19岁少年--Davis Allie ----原文地址) 随着iOS10的发布,苹果对开发者开放了Messages应用程序,开发人员现在可以创建他们自己的各种类型 并且 ...
- Android开发学习之路--Android Studio项目目录结构简介
既然已经搭建好环境了,那就对Android Studio中项目目录结构做个简单的了解了,这里以最简单的Hello工程为例子,新建好工程后看如下三个工程视图: 1.Android工程 manifests ...
- 错误:One or more post-processing actions failed. Consult the OPP service log for details
今天在做采购出入库明细报表的时候,有的时候能正常打印,有的时候报 One or more post-processing actions failed. Consult the OPP serv ...