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. 3DText无法被物体遮挡 - 解决

    目录 开篇: 问题复现: 如何解决: 1.创建一个Shader 2.创建一个Material 3.给Material赋值字体 4.给3DText属性赋值 5.查看效果 希望大家:点赞,留言,关注咯~ ...

  2. 读Java8函数式编程笔记02_流

    1. 外部迭代 1.1. for循环是一个封装了迭代的语法糖 1.1.1. 本质上来讲是一种串行化操作 1.2. 很难抽象出不同操作 2. 内部迭代 2.1. 内部迭代中的相应接口:Stream 2. ...

  3. Vue 04 谷歌浏览器配置vue开发者工具

    参考链接:https://blog.csdn.net/wswq2505655377/article/details/111476799 1 插件下载 由于国内打不开谷歌商店,直接从网盘下载 链接:ht ...

  4. 网络继电器的EPICS IOC搭建

    http://www.corxnet.com/product/showproduct.php?id=36 https://item.taobao.com/item.htm?spm=a1z10.5-c- ...

  5. js替换字符中指定所有字符

    //js \n全部替换<br/> function tranceBr(str) { return str.replace(/\n/g, '<br/>'); }

  6. TextView 走马灯效果不生效

    TextView 控件需要添加以下必要的属性: <TextView android:ellipsize="marquee" android:focusable="t ...

  7. 一文吃透 Go 内置 RPC 原理

    hello 大家好呀,我是小楼,这是系列文<Go底层原理剖析>的第三篇,依旧分析 Http 模块.我们今天来看 Go内置的 RPC.说起 RPC 大家想到的一般是框架,Go 作为编程语言竟 ...

  8. Linux的终端(base),进入base环境

    正常界面,如下 带有(base) 一般是由于安装了conda环境管理软件,它自带一个base环境.第一次安装时出现这种情况可能是由于软件将启动base环境的命令写入-/.bashrc 文件,这就相当于 ...

  9. HBase架构及读写流程

    HBase架构: Client    访问HBase的接口并维护cache来加快对HBase的访问 Zookeeper    ​ 1.保证任何时候,集群中只有一个活跃master    ​ 2.存储所 ...

  10. python sys.argv(全局文本索引替换)

    #利用sys.argv(实现从程序外部向程序传递参数.)写一个脚本.#全局替换(old_str to new_str,filename)import sys #导入sys模块print(sys.arg ...