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. Unity3D——鼠标双击

    Unity之鼠标双击 小黑终于又回到公司了! 能在公司安生的待段时间了,今天更新一篇吧! 懒惰的小黑给大家分享个好东西吧,解决双击之痛! 前言 小黑相信有许多人和我一样.万年不会碰到一个需求:双击!可 ...

  2. vulnhub靶场之MOMENTUM: 2

    准备: 攻击机:虚拟机kali.本机win10. 靶机:Momentum: 2,下载地址:https://download.vulnhub.com/momentum/Momentum2.ova,下载后 ...

  3. 关于C#中async/await的用法

    一直对c#中async/await的用法模模糊糊,不太清晰,今天写了一下Demo彻底明确一下async/await的用法,以免因为对其不了解而对后期的业务产生影响(比如事务导致的锁表等等). 1. 首 ...

  4. 明解STM32—GPIO理论基础知识篇之基本结构

    ​ 一.前言 万物皆有源头,大家学习单片机的源头操作就是通过GPIO口点灯,GPIO作为STM32最基础的外设,也是大家最先接触的外设.当然,看似基础的GPIO,不仅仅是简单的设置好IO口,让灯亮起就 ...

  5. 翻译《threejsfundamentals》离屏渲染+web-worker一篇

    Three.js OffscreenCanvas    OffscreenCanvas是一种相对较新的浏览器功能,目前仅在Chrome中可用,但显然也即将适用于其他浏览器. OffscreenCanv ...

  6. @EnableDiscoveryClient和@EnableEurekaClient springboot3.x

    @EnableDiscoveryClient和@EnableEurekaClient 将一个微服务注册到Eureka Server(或其他服务发现组件,例如Zookeeper.Consul等)的步骤 ...

  7. 我这.NET菜鸟,用它开发RabbitMQ消息队列后,竟被老板一夜提拔为架构师

    [讲故事] 自2022年末推出此工具以来,相关文章已被圈内顶尖的几家.NET头条号转载,而且短短数月,已有超100个团队/个人开发者使用它来操控RabbitMQ消息队列,反响可谓十分火爆.故本次经典重 ...

  8. 【Vue】style和class 列表渲染 使用v-for进行循环 监控失效 双向数据绑定 过滤案例 事件修饰符

    目录 昨日回顾 style和class class属性的三种设置方法 style属性的三种设置方法 条件渲染 列表渲染 使用v-for进行循环 循环数字 循环字符串 循环对象 循环数组 标签key值加 ...

  9. 【KAWAKO】模型的压缩、扩张,计算模型的各种成本

    目录 模型压缩 量化 稀疏化训练 剪枝 知识蒸馏 自蒸馏 集成 使用精细化模型结构 模型扩张 深度 宽度 输入图像的分辨率 深度.宽度.分辨率联合扩张 使用精细化模型结构 计算模型的各种成本 参数量 ...

  10. js获取时间戳的方法

    js获取时间戳的方法 转载脚本之家: https://www.jb51.net/article/77066.htm 转载博客园八英里: https://www.cnblogs.com/deepalle ...