Git教程(6)常用技巧之远程分支简单示例
1.基础
1.1 "master" 与"origin"
“master” 是当你运行 git init 时默认的起始分支名字,原因仅仅是它的广泛使用,“origin” 是当你运行 git clone 时默认的远程仓库名字。
远程分支以 「远程仓库名/远程分支名」 方式命名。如果你运行 git clone -o booyah 那么你默认的远程分支名字将会是 booyah/master。
注意:本地仓库名(本地根目录名),远程仓库名(服务器上的仓库名),本地默认分支名(master),远程默认分支名(origin/master)。
1.2 要了解的几个命令
查看在本地仓库中已经配置的远程仓库引用,注意是已经,且是仓库的引用,且是分支。一个仓库可含本地仓库实体和远程仓库的引用。
$ git remote -v
查看本地仓库中的分支
$ git branch -v
查看所有分支(本地,远程),*开头代表当前分支。
$ git branch -a
查看所有跟踪分支情况,如本地的分支正在跟踪远程分支,以及它领先或落后多少
$ git branch -vv
获得远程引用的完整列表(包括分支,标签)
$ git ls-remote
2.示例
注意 : 下面的 第1-第3 步 可以用git clone一步完成,如用clone请跳过。
本例子是远程仓库中有多个分支,然后在本地跟踪远程分支,修改远程分支。很多时候远程仓库只有一个分支,工作时只在本地创建本地分支,然后把它合并到本地master,再把它推送到远程。
2.1 创建仓库
在一个空目录中初始化一个空仓库,里面没有数据。
$ git init
2.2 在本地仓库中添加一个(可多个)远程仓库
$ git remote add origin https://github.com/paulboone/ticgit
2.3 得到新加的远程仓库的数据
$ git fetch origin
必须注意 git fetch命令会将数据拉取到你的本地仓库 - 它并不会自动合并或修改你当前的工作。
2.4 切换并跟踪远程的一个分支
切换到远程分支并跟踪它,注意远程分支名:「远程仓库名/远程分支名」
$ git checkout --track origin/branchA
这比只checkout好,--track表示跟踪,这样在push时会把数据更新到服务器。当克隆一个仓库时,本地 master 自动跟踪远程的。
假如并不是切换并跟踪远程分支而是在本地新建个分支x,想让它跟踪远程分支,切换到该分支后,修改正在跟踪的上游分支,如执行下面命令:那么x跟踪远程的branchA。
$ git branch -u origin/branchA
2.5 在远程分支内工作
...
2.6 更新分支到远程仓库
如果是本地新建的分支,下面命令把分支上传到远程仓库
$ git push origin branchC
如果在本地直接跟踪远程分支,那么就可以直接git push
2.7 删除无用远程分支
$ git push origin --delete ttt
Git教程(6)常用技巧之远程分支简单示例的更多相关文章
- Git教程(5)常用技巧之本地分支
http://git-scm.com/book/zh/v2/Git-%E5%88%86%E6%94%AF-%E5%88%86%E6%94%AF%E7%AE%80%E4%BB%8B 基础 Git 研发组 ...
- Git如何强制拉取一个远程分支到本地分支(转载)
有时候,我们在使用git pull指令想把一个远程分支拉取到本地分支的时候,老是会拉取失败,这一般是因为某种原因,本地分支和远程分支的内容差异无法被git成功识别出来,所以git pull指令什么都不 ...
- IDEA操作git的一些常用技巧
转自:https://blog.csdn.net/ck4438707/article/details/53455962 Git原理以后会分章节介绍,本次主要说一下intellij怎样操作git.int ...
- git之remote branch controller(远程分支控制)
1.创建本地分支 git branch //查看远程分支 git checkout -b branch_name //创建远程分支 在查看分支git branch 2.将分支提交到远程仓库 此时远程 ...
- git 教程(10)--添加远程库
现在的情景是,你已经在本地创建了一个Git仓库后,又想在GitHub创建一个Git仓库,并且让这两个仓库进行远程同步,这样,GitHub上的仓库既可以作为备份,又可以让其他人通过该仓库来协作,真是一举 ...
- git 无法拉取新的远程分支
我们常常会根据远程分支创建本地分支,命令如下 git checkout -b dev origin/dev 上面的命令我是想把远程分支 dev 拉到本地来,但是有时候没有用,提示远程分支不存在,我们需 ...
- git 问题整理 fetch -p 修剪远程分支
修剪远程分支 问题描述 前提:假设现在远程有三个分支master.testA.testB 问题:使用命令 git fetch origin 获取到远程分支,然后使用命令 git branch -r 来 ...
- Git教程(4)常用小技巧之标签
Git 使用两种主要类型的标签:轻量标签(lightweight)与附注标签(annotated). 一个轻量标签很像一个不会改变的分支 - 它只是一个特定提交的引用. 然而,附注标签是存储在 Git ...
- [git] git代理及常用命令,远程桌面代理
1.代理 公司只能内网,上外网只能用代理,坑货! 2. 更新代码命令 1)下载代码:git clone ------------ 2) 指定目录: cd 文件名 3)git add ...
随机推荐
- Call与Apply
1.前言 ECMAscript中提供了两个方法(call,apply)用于改变对象内部的this指针,它们两个的作用都是一样的,但是传递的参数有点不大相同. 它们的大概语法为: call(this, ...
- RestFul && HATEOAS && Spring-Data-Rest介绍
1.什么是RestFul 经常上网的同学会发现,现代软件的一个重要趋势就是互联网化,几乎没有一款软件是纯粹的单机版了.通常的情况下,软件管理着服务器的资源以及这些资源的状态变化,用户通过在浏览器输入h ...
- Review PHP设计模式之——单例模式
单例模式: class Single { private static $_instance; private function __construct(){ //define method as p ...
- Oracle SGA参数调整
一. SGA的组成: 自动 SGA 管理后,Oracle 可以自动为我们调整以下内存池的大小: shared pool buffer cache large pool java pool stream ...
- PhantomJS实现最简单的模拟登录方案
以前写爬虫,遇到需要登录的页面,一般都是通过chrome的检查元素,查看登录需要的参数和加密方法,如果网站的加密非常复杂,例如登录qq的,就会很蛋疼 在后面,有了Pyv8,就可以把加密的js文件扔给它 ...
- uva401 - Palindromes结题报告
题目地址 : http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_probl ...
- C# window service的创建
其实我也是第一次在博客园写博客,看到那些高手说自己要多动手写博客,于是乎自己也尝试尝试. 废话不多说.这几天在研究window service,通过查找各种大神写的博客,我终于成功的自己写出来了. 下 ...
- Teradata基础教程中的数据库试验环境脚本
Teradata基础教程中的数据库表: Customer: 客户信息表 Location: 位置信息表 Employee: 雇员信息表 Job: 工作信息表 Department: 部门表 ...
- jQuery DataTables Plugin Meets C#
Over the weekend, I was doing some work on the internal CMS we use over at eagleenvision.net and I w ...
- maven eclipse web项目流程(简化内容)
1.maven eclipse 环境搭建 1.1 下载解压配置环境变量(解压.环境变量maven目录到bin.setting.xml 改本地仓库) 1.2 eclipse插件安装配置(link安装.加 ...