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. 继承QAbstractTableModel QStyledItemDelegate实现自定义表格,添加进度条和选中框。

    由于项目要求,需要实现一个列表目录显示信息,并且需要实现每一项提供进度条和选项框功能,所以需要继承QAbstractTableModel和QStyledItemDelegate进行自定义. -自定义数 ...

  2. 用GC的策略,管理团队的技术债务

    在数字化时代,每一个组织的经营都是建立在数字化的系统之上的,而数字化系统的构建,必然就会带来技术债务,这是每一个数字化团队都要面临的一个问题,如何有效的管控技术债务. 技术债务的产生,是技术团队不断迭 ...

  3. 顺手写的redis分布式锁

    /** * 锁定一个key,***一定要手工释放锁 * * @param key * @return */ public boolean lockKey(String key) { return re ...

  4. Altium Designer v23.0.1.38图文详解

    Altium Designer (AD)  最新安装河蟹教程 ,ltium designer  显著地提高了用户体验和效率,利用时尚界面使设计流程流线化,同时实现了前所未有的性能优化.使用64位体系结 ...

  5. 学习Java Day28

    今天简单的学习了一下文档的注释,注释插入以/**开始,以*/结束,每个/**...*/文档注释包含标记以及之后紧跟着的自由格式文本 然后类注释必须放在import语句之后,类定义之前: 方式注释必须放 ...

  6. esp32 开发资料

    开发工具下载 https://dl.espressif.cn/dl/esp-idf/ 设置芯片型号等 Windows 平台工具链的标准设置 - ESP32-C3 - - ESP-IDF 编程指南 la ...

  7. LOJ.数列分块入门3

    题目 分析 由大题目知此题分块 注意处理前驱下标的合法性 \(Code\) #include<cstdio> #include<cmath> #include<algor ...

  8. 自定义顺序表ArrayList

    1.简介 顺序表是在计算机内存中以数组的形式保存的线性表,线性表的顺序存储是指用一组地址连续的存储单元依次存储线性表中的各个元素.使得线性表中在逻辑结构上相邻的数据元素存储在相邻的物理存储单元中,即通 ...

  9. java.sql.SQLException: Access denied for user ‘root‘@‘localhost‘ (using password: YES)问题

    此报错大多数存在的问题为mysql密码错误,需要去JDBC文件中寻找url查看是否密码错误.

  10. 好用的后台管理模板Bootstrap3

    推荐 好用的后台管理模板 参考链接:https://www.sucaiq.com/moban/1250.html 预览图