Workspace    : 工作区,就是你平时存放项目代码的地方

Index / Stage : 暂存区,用于临时存放你的改动,事实上它只是一个文件,保存即将提交到文件列表信息

Repository    : 仓库区(或版本库),就是安全存放数据的位置,这里面有你提交到所有版本的数据。其中HEAD指向最新放入仓库的版本

Remote          : 远程仓库,托管代码的服务器,可以简单的认为是你项目组中的一台电脑用于远程数据交换

一、安装

从源中安装:

1 sudo apt-get update        # 获得最近的软件包的列表
2 sudo apt-get install git

测试是否安装成功:

git  --version

二、使用

查看当前分支状态

git status

查看当前的远程端

git remote

查看本地分支

git branch

查看本地和远程分支

git branch -a

创建新的分支xxx

git branch xxx

删除分支xxx

git branch -d xxx

切换到分支xxx

git checkout xxx

合并分支xxx到当前分支

git merge xxx

把文件的改动增加到我们的新版本的缓存中(还没提交新版本)

git add

取消之前 git add 添加了但不希望包含在下一提交快照中的缓存

git reset
git reset HEAD

将文件从缓存区移除,同时硬盘里的对应文件也会删除

git rm file

------------------------------------------------------------------------

初始化一个版本仓库

git init

克隆远端仓库到本地

git clone

从远程仓库把代码取下来,将其他人的代码提交的代码同步到本地

git pull
git pull [远程仓库名] [分支名] # 后面两个不写默认是origin master

把文件的改动增加到我们的新版本的缓存中(还没提交新版本)

git add
git add . # .代表当前目录下所有文件

提交/增加一个新版本

git commit -m 'xxx'

将本地代码推送到远程仓库

git push
git push -u origin master # 如果是第一次提交
git push origin develop # 如果是提交分支

三、示例

git将本地项目提交到远程仓库

1、进入项目文件夹,通过命令git init将项目初始化成git本地仓库

git init

2、将项目内所有文件都添加到暂存区

git add .

3、对本次的提交进行备注,以便后期版本回退等操作

git commit -m 'xxx'                # xxx是本次提交备注的内容

4、在github上新建一个仓库,复制仓库地址,然后使用命令将本地仓库与远程仓库建立连接

git remote add origin  xxx        # xxx是git仓库的地址

  fatal: 远程 origin 已经存在

    此时只需要将远程配置删除,重新添加即可

    git remote rm origin
    git remote add origin xxx

    再次提交文件即可正常使用

5、将暂存区的文件推送至远程仓库(使用强制推送'-f'是因为一般新建仓库的时候会生成read me文件,导致需要先git fetch才能推送,但这个read me文件其实是不需要的,因为在生成本地项目的时候一般也会生成一个read me文件,所以选择直接强制推送过去。)

git push origin master -f

Username for 'http:/IP:Port': NAME
Password for 'http://NAME@IP:Port': PASSWORD

  fatal: unable to access 'https://XXX/***/???.git/': Empty reply from server

    只需要先commit 在 push即可

四、option

reset

git reset --hard    HEAD^ 工作区、暂存区、仓库区
git reset [--mixed] HEAD^ 暂存区、仓库区
git reset --soft HEAD^ 仓库区

diff

git diff           工作区、暂存区
git diff --cached 暂存区、本地仓库区
git diff HEAD 工作区、本地仓库区

status

git status -s

Ubuntu14.04下Git安装与使用的更多相关文章

  1. ubuntu14.04下编译安装ambari-2.4.2.0

    ubuntu14.04下编译安装ambari-2.4.2.0 编译前的准备工作 准备工作有: 系统参数 系统依赖(编译环境) 离线安装包 java环境 maven环境 Nodejs环境 git环境 a ...

  2. ubuntu14.04下手动安装eclipse

    ubuntu14.04下手动安装eclipse 第一步: 安装jdk 第二步: 下载eclipse,假设下载的文件文件名为eclipse.tar.gz 第三步: 解压 sudo -zxvf ./ecl ...

  3. ubuntu14.04 下手动安装java jdk

    ubuntu14.04 下手动安装java jdk 第一步: 下载jdk.tar.gz (这里假设下载的文件名为jdk.tar.gz) 第二步: 解压 sudo tar -zxvf ./jdk.tar ...

  4. Ubuntu14.04下Ambari安装搭建部署大数据集群(图文分五大步详解)(博主强烈推荐)

    不多说,直接上干货! 写在前面的话 (1) 最近一段时间,因担任我团队实验室的大数据环境集群真实物理机器工作,至此,本人秉持负责.认真和细心的态度,先分别在虚拟机上模拟搭建ambari(基于CentO ...

  5. ubuntu14.04下手动安装JDK + eclipse + Pydev

    说明:本文在root用户下进行,如不是root用户命令前加sodu 一.手动安装JDK 1.下载JDK 从官网http://www.oracle.com/technetwork/java/javase ...

  6. Ubuntu14.04下Cloudera安装搭建部署大数据集群(图文分五大步详解)(博主强烈推荐)(在线或离线)

    第一步: Cloudera Manager安装之Cloudera Manager安装前准备(Ubuntu14.04)(一) 第二步: Cloudera Manager安装之时间服务器和时间客户端(Ub ...

  7. Ubuntu14.04下完美安装cloudermanage多种方式(图文详解)(博主推荐)

    说在前面的话 我的机器是总共4台,分别为ubuntucmbigdata1.ubuntucmbigdata2.ubuntucmbigdata3和ubuntucmbigdata4. ClouderaMan ...

  8. docker在ubuntu14.04下的安装笔记

    本文主要是参考官网教程进行ubuntu14.04的安装. 下面是我的安装笔记. 笔记原件完整下载: 链接: https://pan.baidu.com/s/1dEPQ8mP 密码: gq2p

  9. Ubuntu18.04下Git安装及使用

    Ubuntu 18.04 git安装配置及基本使用 git Ubuntu 准备 对Ubuntu相关资源升级 1. linux资源升级 sudo apt-get update 2. linux软件升级 ...

  10. Ubuntu14.04下如何安装TensorFlow

    一.安装Anaconda Anaconda官网(www.continuum.io/downloads) 也可以在(https://repo.continuum.io/archive/)上根据自己的操作 ...

随机推荐

  1. Java进阶 P-2.1+P-2.2

    对象的识别 对于Java而言,要识别两个对象是否为同一个对象有两种方式: 一是根据内存地址识别("=="号 识别) 二是根据equals() .hasCode()方法识别(默认比较 ...

  2. 基于.NetCore开发博客项目 StarBlog - (26) 集成Swagger接口文档

    前言 这是StarBlog系列在2023年的第一篇更新~ 在之前的文章里,我们已经完成了部分接口的开发,接下来需要使用 curl.Postman 这类工具对这些接口进行测试,但接口一多,每次测试都要一 ...

  3. 【一句话】CAP原则

    首先一句话: 如果出现网络分区(P),持有旧数据的节点是否要继续提供服务,提供就保证了可用(A),但数据不一定新,放弃了C:如果不提供服务,则意味着放弃了可用性A,但是保证数据一致(C). 我的理解: ...

  4. 【CTO变形记】有序定无序—为什么越努力,越无力

      前言:我们用自己构建的认知结构来理解和映射这个世界,通过外界的反馈来调整现有的认知.但面对的现实越来越复杂,以及面对更多的未知且陌生的情况时,我们常常试图去"修整"接受到的信息 ...

  5. Request01

    request对象和response对象的原理 request和response对象是由服务器创建的.我们来使用它们 request对象是来获取请求消息,response对象是来设置响应消息 requ ...

  6. 文盘Rust -- 本地库引发的依赖冲突

    作者:京东科技 贾世闻 问题描述 clickhouse 的原生 rust 客户端目前比较好的有两个clickhouse-rs 和 clickhouse.rs .clickhouse-rs 是 tcp ...

  7. Linux基础之用户、组和权限管理

    用户类别分为:普通用户.系统用户.登陆用户 用户标识:UserID, UID 是16bits二进制数字: 0-65535管理员:0普通用户:0-65536系统用户:1-499(CentOS6)1-99 ...

  8. 微信小程序分包

    当我们程序太大的时候,打开小程序就会比较慢,此处就需要用到分包加载,按照模块划分不同的包,让用户在需要的时候才加载对用的模块,也就是用户在进入某些页面的时候才下载该页面的资源,提高小程序的打开速度,以 ...

  9. 自动化测试方案对比:Katalon vs Python

    公司要用katalon做自动化,我提议用更加主流的python的方案,即pytest+selenium.下面是做一个大概的对比,以引导团队尽可能的选择可靠的方案. 接下来我直接把我当时讲的ppt贴上来 ...

  10. Linux:grep 查找文件内容

    在 Windows 中打开文件用查找功能可以查找我们想要的字符,前提是要打开文件.Linux 有一个指令不用打开文件就可以查询字符,而且支持正则表达式-- grep 指令.不仅如此,grep 还支持在 ...