1.什么是TeamForge

可以把TeamForge简单的理解为另外一种github

2.TeamForge的地址

与Project有关,一般会有明确的Link

3.TeamForge登录

用户名和密码由管理员给定

4.TeamForge的git clone

如上图所示,假如我们要git clonemdplayer这个project,则在REPOSITORY NAME这一栏找到mdplayer,点进去。

如上图所示,找到summary里的URL,复制https那一行(之所以不用SSH那一行,是因为通过SSH来git clone的端口被intel禁掉了)。

Cd到你要git clone的目录,然后首先git init。随后打命令:

git clone 你复制的https地址

然后会提示你输入密码,输完密码,就会把代码down下来了。

(这里和github相比,省了fork的环节,是因为同事已经把你加进来了,我认为可能是系统自动把相关的project都fork了一遍。)

5.TeamForge的pull

首先你要pull的话,肯定是首先git clone过了。

这里我们先讨论一下git pull和PR(即pull request)之间的辩证关系。

我们都知道,Pull的意思是“拉”,那其实很好理解。Git Pull的意思就是把代码从远端“拉”下来。

那问题来了,怎么理解PR呢?因为大家提交修改的时候都说“提交一个PR”。

其实是这样的,你在本地用git push之后,实际上是把代码push到了你自己的远端(也就是你Fork之后生成的代码库,即实际上真正“官方”项目代码库的 一份拷贝)。你的修改如果要变成官方承认的修改,那么官方需要把你的代码从你的远端代码库“拉”过来。

因此,PR(pull request)是相对于“官方”项目代码库管理员来说的,即语意上是一个“拉我的代码吧”的请求。

经过git clone之后,你每次更新代码,只需要git pull就可以了(要cd到你本地项目的根folder里)。

比较麻烦的是每次git pull都需要输入密码。有个解决方法:

Cd到本地项目的根目录里,进入隐藏文件夹.git。编辑里面的config文件(vim config)。在文件最后添加以下内容:

[credential]

helper = store

修改完成后,第一次git pull还需要输入密码,后面就不需要了。

6.TeamForge的push

TeamForge的push和github的push不太一样,github只需要“git push origin master”就可以了。

而TF的命令为:

git push origin HEAD:refs/for/master

PUSH完之后需要提交PR呀,你会想“哎呀我怎么在网页上找不到提交PR(pull request)的按钮,跟Github不一样啊”,其实很简单。你git push完后,最后会有一个链接:To https:xxxxxxx…..

Eg: To https://luy2@git-amr-3.devtools.intel.com/gerrit/p/web_qa-mdplayer.git

将这个链接赋值下来,在浏览器里打开,就自动提交PR了。

7.TeamForge的其他使用

<1> 在网页上浏览项目里的代码文件

很简单,如上图所示,点一下“tree”链接就可以了。

<2> 浏览codereview及里面的相关信息需要自己去寻找去试

TeamForge使用指南的更多相关文章

  1. JavaScript权威指南 - 函数

    函数本身就是一段JavaScript代码,定义一次但可能被调用任意次.如果函数挂载在一个对象上,作为对象的一个属性,通常这种函数被称作对象的方法.用于初始化一个新创建的对象的函数被称作构造函数. 相对 ...

  2. UE4新手之编程指南

    虚幻引擎4为程序员提供了两套工具集,可共同使用来加速开发的工作流程. 新的游戏类.Slate和Canvas用户接口元素以及编辑器功能可以使用C++语言来编写,并且在使用Visual Studio 或 ...

  3. JavaScript权威指南 - 对象

    JavaScript对象可以看作是属性的无序集合,每个属性就是一个键值对,可增可删. JavaScript中的所有事物都是对象:字符串.数字.数组.日期,等等. JavaScript对象除了可以保持自 ...

  4. JavaScript权威指南 - 数组

    JavaScript数组是一种特殊类型的对象. JavaScript数组元素可以为任意类型,最大容纳232-1个元素. JavaScript数组是动态的,有新元素添加时,自动更新length属性. J ...

  5. const extern static 终极指南

    const extern static 终极指南 不管是从事哪种语言的开发工作,const extern static 这三个关键字的用法和原理都是我们必须明白的.本文将对此做出非常详细的讲解. co ...

  6. Atitit.研发管理软件公司的软资产列表指南

    Atitit.研发管理软件公司的软资产列表指南 1. Isv模型下的软资产1 2. 实现层面implet1 3. 规范spec层1 4. 法则定律等val层的总结2 1. Isv模型下的软资产 Sof ...

  7. HA 高可用软件系统保养指南

    又过了一年 618,六月是公司一年一度的大促月,一般提前一个月各系统就会减少需求和功能的开发,转而更多去关注系统可用性.稳定性和管控性等方面的非功能需求.大促前的准备工作一般叫作「备战」,可以把线上运 ...

  8. 第六代智能英特尔® 酷睿™ 处理器图形 API 开发人员指南

    欢迎查看第六代智能英特尔® 酷睿™ 处理器图形 API 开发人员指南,该处理器可为开发人员和最终用户提供领先的 CPU 和图形性能增强.各种新特性和功能以及显著提高的性能. 本指南旨在帮助软件开发人员 ...

  9. Visual Studio Code 配置指南

    Visual Studio Code (简称 VS Code)是由微软研发的一款免费.开源的跨平台文本(代码)编辑器.在我看来它是「一款完美的编辑器」. 本文是有关 VS Code 的特性介绍与配置指 ...

随机推荐

  1. JAVA_SE基础——5.第一个Java程序HelloWorld&注释的应用

    配置完JDK&环境变量后,我们就可以开始写程序了,那么程序怎么写呢,用什么工具呢,我建议 为了方便学习,我们最好在一个磁盘下建立一个专门的文件来写java程序,比如就在D盘下建立一个名为&qu ...

  2. Ansible实战演练

    [root@Ansible-server ~]# rpm -Uvh http://mirrors.ustc.edu.cn/fedora/epel/6/x86_64/epel-release-6-8.n ...

  3. sts 和 lombok

    1.安装lombok.jar到sts.exe所在目录 如果是eclipse,需要放到eclipse.exe所在目录,同理myeclipse. 2.修改sts.ini配置使用lombok 如果是ecli ...

  4. python3下搜狗AI API实现

    1.背景 a.搜狗也发布了自己的人工智能 api,包括身份证ocr.名片ocr.文本翻译等API,初试感觉准确率一般般. b.基于python3. c.也有自己的签名生成这块,有了鹅厂的底子,相对写起 ...

  5. Spark:导入数据到oracle

    方案一: //overwrite JdbcDialect fitting for Oracle val OracleDialect = new JdbcDialect { override def c ...

  6. 一、WINDOWS下 RabbitMQ安装部署

    安装需要用管理员权限,全部右键管理员身份运行.建议安装到虚拟机里面,免得影响日常使用. 1.下载   https://dl.bintray.com/rabbitmq/all/rabbitmq-serv ...

  7. 一 Unicode和UTF-8的异同

    下面就是我的笔记,主要用来整理自己的思路.但是,我尽量试图写得通俗易懂,希望能对其他朋友有用.毕竟,字符编码是计算机技术的基石,想要熟练使用计算机,就必须懂得一点字符编码的知识.1. ASCII码我们 ...

  8. C++ namespace的作用

    namespace:命名空间或者叫名字空间,传统的c++只有一个全局的namespace,但是由于现在的程序规模越来越大,程序的分工越来越细,全局作用域就变得越来越拥挤,每个人都可能使用相同的名字来实 ...

  9. 创建第一个Django项目

    第一个Django项目 命令行下使用如下命令创建一个名为"mysite"的Django项目: django-admin startproject mysite 这将会在当前位置创建 ...

  10. 0418 jQuery笔记(添加事件、each、prop、$(this))

    1.添加点击事件.each.prop.$(this) //全选框的被动操作 //定义一个标志保存最终状态 var flag = false; //为每一个选择框添加点击事件,数组.click() $( ...