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. dapr入门与本地托管模式尝试

    1 简介 Dapr是一个可移植的.事件驱动的运行时,它使任何开发人员能够轻松构建出弹性的.无状态和有状态的应用程序,并可运行在云平台或边缘计算中,它同时也支持多种编程语言和开发框架.Dapr支持的语言 ...

  2. 结构型模式 - 组合模式Composite Pattern

    学习而来,代码是自己敲的.也有些自己的理解在里边,有问题希望大家指出. 组合模式的定义与特点  组合(Composite Pattern)模式的定义:有时又叫作整体-部分(Part-Whole)模式, ...

  3. .NET 6学习笔记(6)——SSL证书的导出和格式转换

    除了广阔的互联网,这个世界上还存在很多运行在公司内网的Web Application.假设有团队A提供的网站A,现团队B需要将网站B与之集成.网站A已使用了自签的SSL证书.团队B希望能够导出该SSL ...

  4. 前端如何实现将多页数据合并导出到Excel单Sheet页解决方案|内附代码

    前端与数据展示 前后端分离是当前比较盛行的开发模式,它使项目的分工更加明确,后端负责处理.存储数据;前端负责显示数据.前端和后端开发人员通过接口进行数据的交换.因此前端最重要的能力是需要将数据呈现给用 ...

  5. 使用 shell 脚本拼接 srt 字幕文件 (srtcat)

    背景 前段时间迷上了做 B 站视频,主要是摩托车方面的知识分享.做的也比较粗糙,就是几张图片配上语音和字幕进行解说.尝试过自己解说,发现录制视频对节奏的要求还是比较高的,这里面水太深把握不住.好在以 ...

  6. 【DS】1.2

    top-iron man   算法 效率度量 时间T=T(n) 1.顺序忽略2.只选一个基本操作分析3.多层嵌套只考虑最深的循环循环了几次  test1: test2: 空间   原地工作:算法所需内 ...

  7. vue + element-ui + vue-clipboard2 实现文字复制粘贴功能与提示

    1.在所在项目下安装插件 npm install vue-clipboard2 --save 2.在所在项目的index.js注入vue-clipboard2 import VueClipboard ...

  8. 原生微信小程序跳转传参 : [非TabBar跳转传参] 和 [TabBar跳转传参]

    一般常用的微信小程序跳转分为两种 1.非TabBar跳转 2.TabBar跳转 1.非TabBar跳转 非TabBar页面的跳转通常使用wx.navigateTo来跳转页面,在链接后面加 ? 传参,如 ...

  9. quasar使用electron打包

    quasar使用electron打包  从构建好的项目中,我们不难发现,electron打包有两种方式: electron-packager打包  这篇博客是通过我尝试了很多种方法之后,最先开始,我使 ...

  10. [学习笔记]SQL server完全备份指南

    方式一,使用SQL Server Management Studio 准备工作 连接目标数据库服务器 在目标数据库上右键->属性,将数据库的恢复模式设置为"简单",兼容级别设 ...