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)常用技巧之远程分支简单示例的更多相关文章

  1. 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 研发组 ...

  2. Git如何强制拉取一个远程分支到本地分支(转载)

    有时候,我们在使用git pull指令想把一个远程分支拉取到本地分支的时候,老是会拉取失败,这一般是因为某种原因,本地分支和远程分支的内容差异无法被git成功识别出来,所以git pull指令什么都不 ...

  3. IDEA操作git的一些常用技巧

    转自:https://blog.csdn.net/ck4438707/article/details/53455962 Git原理以后会分章节介绍,本次主要说一下intellij怎样操作git.int ...

  4. git之remote branch controller(远程分支控制)

    1.创建本地分支 git branch  //查看远程分支 git checkout -b branch_name //创建远程分支 在查看分支git branch 2.将分支提交到远程仓库 此时远程 ...

  5. git 教程(10)--添加远程库

    现在的情景是,你已经在本地创建了一个Git仓库后,又想在GitHub创建一个Git仓库,并且让这两个仓库进行远程同步,这样,GitHub上的仓库既可以作为备份,又可以让其他人通过该仓库来协作,真是一举 ...

  6. git 无法拉取新的远程分支

    我们常常会根据远程分支创建本地分支,命令如下 git checkout -b dev origin/dev 上面的命令我是想把远程分支 dev 拉到本地来,但是有时候没有用,提示远程分支不存在,我们需 ...

  7. git 问题整理 fetch -p 修剪远程分支

    修剪远程分支 问题描述 前提:假设现在远程有三个分支master.testA.testB 问题:使用命令 git fetch origin 获取到远程分支,然后使用命令 git branch -r 来 ...

  8. Git教程(4)常用小技巧之标签

    Git 使用两种主要类型的标签:轻量标签(lightweight)与附注标签(annotated). 一个轻量标签很像一个不会改变的分支 - 它只是一个特定提交的引用. 然而,附注标签是存储在 Git ...

  9. [git] git代理及常用命令,远程桌面代理

     1.代理 公司只能内网,上外网只能用代理,坑货! 2. 更新代码命令    1)下载代码:git clone ------------    2) 指定目录: cd 文件名    3)git add ...

随机推荐

  1. 《APUE》第6章练习1

    问题:编写一个程序,它调用uname并输出utsname结构中的所有字段,并将输出与uname(1)命令的输出结构做比较. 我本来以为utsname结构也跟passwd结构一样,也有那三个函数来获取整 ...

  2. DTCMS会员中心快速更改样式思路

    非常简便 制作一个public.css文件,包含网站头部和底部的样式代码 每个会员中心模版导入这个文件就可以 把原先style.css的头部和底部样式代码删除

  3. 【Delphi】无标题移动窗体

    procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Inte ...

  4. 转 IHttpModule不起作用

    在 Visual Studio 中,测试 IHttpModule(httpModules) 正常,但是放到服务器上去就不起作用了,这多半得多服务器 IIS 配置入手. 一.看“应用程序池”的“托管管道 ...

  5. NSTImer重复执行任务

    问题 应用需要调度代码以在特定的时间执行.此外,你还想要重复执行任务. 解决方案 使用NSTimer调度代码以在特定的时间执行.为了使用NSTimer,你需要有日期对象与指向应用的运行循环的引用. 注 ...

  6. ASP.NET中POST数据并跳转页面

    需求:先Post提交数据,然后跳转到目标页面 找了好久才发现这个神奇的类HttpHelper.原理很简单,利用html的from表单拼接,然后执行 使用方法: NameValueCollection ...

  7. JS 生成GUID

    js 代码: function GUID() { this.date = new Date(); /* 判断是否初始化过,如果初始化过以下代码,则以下代码将不再执行,实际中只执行一次 */ if (t ...

  8. 【BZOJ 1798】 [Ahoi2009]Seq 维护序列seq

    Description 老师交给小可可一个维护数列的任务,现在小可可希望你来帮他完成. 有长为N的数列,不妨设为a1,a2,…,aN .有如下三种操作形式: (1)把数列中的一段数全部乘一个值; (2 ...

  9. ExtJs 4.2.1 点击按钮弹出表单的窗口

    初学ExtJs,做项目的时候想做一个这样的效果:点击按钮弹出对话框,之前一直是使用EasyUi来做的, EasyUi里有Dialog,用起来很方便,但是现在转移到ExtJs上后,发现没有Dialog这 ...

  10. Contest2037 - CSU Monthly 2013 Oct (problem B :Scoop water)

    http://acm.csu.edu.cn/OnlineJudge/problem.php?cid=2037&pid=1 [题解]:卡特兰数取模 h(n) = h(n-1)*(4*n-2)/( ...