1. Git基础介绍

基于Git进行开发时,首先需要将远程仓库代码clone到本地,即为本地仓库。后续大部分时间都是基于本地仓库上的分支进行编码,最后将本地仓库的代码合入远程仓库。

1.1. 远程仓库

Figure 1特性分支、个人远程分支

1.1.1.        主线分支

主线分支也叫master分支,用于产品对外正式发布使用,最终所有特性的代码都会合入主线分支

1.1.2.        特性分支

特性分支,是指按特性构建并转测试的分支,特性分支都是基于主线分支创建的,特性分支命名规则:feature_特性名称,举例 feature_ipush

特性分支,主要用于在版本迭代开发过程中,按特性转测试,多个特性之间互不依赖,并行操作提高特性上车效率。

1.1.3.        个人特性分支

个人特性分支,基于特性分支创建,增加个人特性分支的目的主要是增加审核机制,即个人特性分支合入特性分支的过程中,需要Committer审核通过才能合入。

1.2. 本地仓库

Figure 2工作区、暂存区、版本库

Git本地仓库分为工作区,暂存区(index),版本库

git add:将工作区修改或新增的文件添加到暂存区

git commit:将暂且区的修改添加到版本库对应的个人本地分支中

git reset:回退commit提交

git rm --cached <file>:直接从暂存区删除文件,工作区则不做出改变。

git checkout -- <file>:会用暂存区全部或指定的文件替换工作区的文件(会清除工作区中未添加到暂存区的改动)

git checkout HEAD <file>:会用HEAD指向的分支中的全部或者部分文件替换暂存区和以及工作区中的文件(会清除工作区中未提交的改动,也会清除暂存区中未提交的改动

1、git基础介绍及远程/本地仓库、分支的更多相关文章

  1. Git创建一个自己的本地仓库

    如果我们要把一个项目加入到Git的版本管理中,可以在项目所在的目录用git init命令建立一个空的本地仓库,然后再用git add命令把它们都加入到Git本地仓库的暂存区(stage or inde ...

  2. git基础介绍

    git基础介绍 这是git操作的基础篇,是以前的写的操作文档,就没有进行手打,直接把图片贴进来了,你们担待哈,有不正确的地方可以指正出来,我将在第一时间去修改,多谢哈! 一.文件状态:git系统的文件 ...

  3. [原]git的使用(一)---建立本地仓库、add和commit、status和git diff、版本回退使用git reset

    在window下已经安装了git的环境 1.建立本地仓库 mkdir   test     #建立test目录 cd   test        #进入目录 git  init           # ...

  4. Git 学习(三)本地仓库操作——git add & commit

    Git 学习(三)本地仓库操作——git add & commit Git 和其他版本控制系统如SVN的一个不同之处就是有暂存区的概念.这在上文已有提及,本文具体说明什么是工作区及暂存区,以及 ...

  5. Git学习-安装与创建本地仓库

    前言 以前公司进行项目的版本管理都是用svn,最近公司推荐用git,把svn给关闭了.没办法,拿来主义.网上一番猛操作,勉强也能用了,给自己做个笔记. git安装 因为我用的是windos系统,在Wi ...

  6. git使用问题一新建本地仓库添加远程合并推送

    1,git远程新建仓库demo 2,git本地初始化仓库demo 3,git本地添加远程仓库 git remote add <name> <url> 4,git把远程仓库pul ...

  7. Git 基础教程 之 远程库更新到本地

    PS:git remote -v 查看远程仓库        git diff temp 比较master 分支与temp的不同 如果分支没有合并到主分支上,用        git branch - ...

  8. 代码管理工具-Git基础介绍及常用技巧

    目录 Git起源 基本概念 Branch.HEAD和Commit tree Git分支 git merge 和 git rebase 的区别和抉择 与远程仓库的交互 关于一些实际开发场景的问题和解决方 ...

  9. Git 基础教程 之 远程推送

    当你从远程仓库克隆时,实际上Git自动把本地的master分支和远程的master分支对应了起来,并且,远程仓库默认名称是origin. git remote 查看远程库信息 git remote - ...

随机推荐

  1. HTML第一耍 标题 段落 字体等标签

    1.HTML标题的使用 <!doctype html> <html> <head> <title>文本标签演示</title> </h ...

  2. MVC 5 Scaffolder + EntityFramework+UnitOfWork Pattern 代码生成工具

    MVC 5 Scaffolder + EntityFramework+UnitOfWork Pattern 代码生成工具集成Visual Studio 2013 MVC 5 Scaffolder + ...

  3. toString() 和 强制类型转换 (String)

    转自https://www.cnblogs.com/yuxiaoqi/p/3562161.html 简述 在Java中,往往需要把一个类型的变量转换成String 类型.作为菜鸟,有时候我会使用(St ...

  4. mysql创建用户与pymsql模块

    mysql 创建用户及增删改查 创建mysql 用户 with grant option 表示用户不存在自主创建 grant [ select ……,insert ……| all ] on 库名.表名 ...

  5. AndroidStudio替换空行

    (1)在Edit Replace In Path输入框中输入:^\s*\n (\s代表任何空白字符,\S代表任何非空白字符,*代表任意个数,\n匹配换行符) (2)Replace With输入框的值为 ...

  6. Java控制台微动画输出 “草泥马神兽”

    public static void gameClearance() { String s = "\r      ┏┛ ┻━━━━━┛ ┻┓\r      ┃ ┃\r      ┃ ━ ┃\ ...

  7. [译]使用NuGet管理共享代码

    原文 可以在内网部署自己的私人NuGet仓储服务. Setting it up 本例中我们创建一个发邮件的类,将其作为我们自己的NuGet包: using System; using System.N ...

  8. [C++]动态规划系列之Warshall算法

    /** * * @author Zen Johnny * @date 2018年3月31日 下午8:13:09 * */ package freeTest; /* [动态规划系列:Warshall算法 ...

  9. Coursera, Machine Learning, Neural Networks: Representation - week4/5

    Neural Network Motivations 想要拟合一条曲线,在feature 很多的情况下,feature的组合也很多,在现实中不适用,比如在computer vision问题中featu ...

  10. PHP7语法知识(三):时间与日期、表单、类与对象、正则表达式、错误异常处理、图像处理

    时间与日期 一.设置时区 1.在配置文件中设置: 2.通过data_default_timezone_set函数在文件中设置: 二.获取当前时间 三.常用时间处理方法 1.格式化时间显示: 2.计算时 ...