Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。

Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。

Git安装配置

本文主要讲解linux上如何安装配置Git

Centos/RedHat
$ yum install curl-devel expat-devel gettext-devel \
 openssl-devel zlib-devel $ yum -y install git-core $ git --version
git version x.x.x 
  • Git得配置信息得目录:

    • .git/config

  • 用户信息配置

    • git config --global user.name "个性名称"

    • git config --global user.email "个人邮箱地址"

    • 配置个人的用户名称和电子邮件地址:

  • 查看用户信息

    基本概念

    工作区:本地目录

    暂存区:英文叫stage, 或index。一般存放在"git目录"下的index文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)

    版本库:工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。

  • 图中左侧为工作区,右侧为版本库。在版本库中标记为 "index" 的区域是暂存区(stage, index),标记为 "master" 的是 master 分支所代表的目录树。

    图中我们可以看出此时 "HEAD" 实际是指向 master 分支的一个"游标"。所以图示的命令中出现 HEAD 的地方可以用 master 来替换。

    图中的 objects 标识的区域为 Git 的对象库,实际位于 ".git/objects" 目录下,里面包含了创建的各种对象及内容。

    当对工作区修改(或新增)的文件执行 "git add" 命令时,暂存区的目录树被更新,同时工作区修改(或新增)的文件内容被写入到对象库中的一个新的对象中,而该对象的ID被记录在暂存区的文件索引中。

    当执行提交操作(git commit)时,暂存区的目录树写到版本库(对象库)中,master 分支会做相应的更新。即 master 指向的目录树就是提交时暂存区的目录树。

    当执行 "git reset HEAD" 命令时,暂存区的目录树会被重写,被 master 分支指向的目录树所替换,但是工作区不受影响。

    当执行 "git rm --cached <file>" 命令时,会直接从暂存区删除文件,工作区则不做出改变。

    当执行 "git checkout ." 或者 "git checkout -- <file>" 命令时,会用暂存区全部或指定的文件替换工作区的文件。这个操作很危险,会清除工作区中未添加到暂存区的改动。

    当执行 "git checkout HEAD ." 或者 "git checkout HEAD <file>" 命令时,会用 HEAD 指向的 master 分支中的全部或者部分文件替换暂存区和以及工作区中的文件。这个命令也是极具危险性的,因为不但会清除工作区中未提交的改动,也会清除暂存区中未提交的改动。

    • git config --list

      Git工作区、暂存区和版本库
  • git init

    找到一个空得文件位置,然后使用此命令

  • git clone [url]

    从Github网站得仓库中拉取下代码到当前工作区

  • git add <file-name>

    共当前得工作区把文件添加到暂存区

  • git diff

    比较工作区和暂存区得区别

  • git commit

    从暂存区到版本库

  • git reset HEAD

    用于取消缓存已缓存的内容

  • git branch

    显示当前已有分支

  • git checkout [branchname]

    切换分支

  • git merge

    合并分支

  • git branch -d [branchname]

    删除分支名称

  • git log

    查看git历史

  • git tag

    写标签

  • git remote add [shortname] {url}

    添加远程库

  • ssh-keygen -t rsa -C "github仓库地址"

    检测是否已成功连接此仓库

  • git push -u origin master

    推送在版本库中得代码到远程仓库得master分支

  • git pull

    拉去远程仓库到本地

  • git remote rm [远程仓库别名]

    删除远程仓库

Git常用命令及配置的更多相关文章

  1. git常用命令符

    全局配置 $ git config --global user.name "姓名" 告诉git你是谁 $ git config --global user.email " ...

  2. git常用命令操作

    git常用命令 #查看配置 git config -l #查看系统config git config --system --list #查看当前用户(global)配置 git config --gl ...

  3. Mac下配置git环境和客户端SourceTree+Git常用命令大全(Mac 10.12)

    前言: 如果不想折腾,直接下载GitHub桌面端,高度集成git,不需要学习git的任何命令. https://desktop.github.com/ 一.配置git环境 1.上官网https://g ...

  4. Git 常用命令详解

    Git 是一个很强大的分布式版本管理工具,它不但适用于管理大型开源软件的源代码(如:linux kernel),管理私人的文档和源代码也有很多优势(如:wsi-lgame-pro) Git 的更多介绍 ...

  5. Git 常用命令大全

    Git常用操作命令: 1) 远程仓库相关命令 检出仓库:$ git clone git://github.com/jquery/jquery.git 查看远程仓库:$ git remote -v 添加 ...

  6. GIT常用命令备忘

    Git配置 git config --global user.name "storm" git config --global user.email "stormzhan ...

  7. Git 常用命令2

    Git 常用命令 Git 是一个很强大的分布式版本控制系统.它不但适用于管理大型开源软件的源代码,管理私人的文档和源代码也有很多优势. Git常用操作命令: 1) 远程仓库相关命令 检出仓库:$ gi ...

  8. git常用命令,git版本控制和Xcode结合使用,用Xcode提交到github,github客户端使用

    1.git常用命令 查看命令: 1.git --help 查看git所有命令 2.git clone -help 查看git clone命令的细节 3.git config -l   查看当前所有配置 ...

  9. Git 常用命令详解(二)

    Git 是一个很强大的分布式版本管理工具,它不但适用于管理大型开源软件的源代码(如:linux kernel),管理私人的文档和源代码也有很多优势(如:wsi-lgame-pro) Git 的更多介绍 ...

随机推荐

  1. 修改dedecms 一些配置cfg_softname,cfg_soft_enname,cfg_soft_devteam

    1.找到include 中的common.inc.php 直接修改就可以了.

  2. js获取简单表单对象(1)

    <form id="form">     <input type="text" name="username" value ...

  3. 使用GitHub搜索技巧

    in:name example 名字中有"example"in:readme example readme中有"example"in:description e ...

  4. rest-spring-boot-starter

    rest-spring-boot-starter 基于spring boot,统一业务异常处理,统一返回格式包装 依赖 <dependency> <groupId>tk.fis ...

  5. python基础01day

    1 python多版本共存 因为python2和python3的解释器程序都是python.exe,在同时加入环境变量的情况下名称重复,如果重命名的话又会造成需要链接解释器的程序无法调用解释器,所以采 ...

  6. webpack面试题

    1.webpack的核心概念 Entry:入口,Webpack进行打包的起始点(文件) Output:出口,webpack编译打包生成的bundle(打包文件) Loader:模块加载(转换)器,将非 ...

  7. 第一册:lesson 133.

    原文: Sensational news. question:What reasons did  Karen give for a wanting to retire? Have you just m ...

  8. windows创建虚拟环境

    mkvirtualenv --no-site-packages --python=C:\Python36\python.exe MyCrawler

  9. 提高python处理数据的效率方法

    处理大数据的方法有很多,目前我知道就这么多,后面会持续更新: 一.将数据分批次读取 csv格式是常见的数据存储方式,对于我们普通人而言易于读写.此外,在pandas中有pd.read_csv()函数可 ...

  10. Beta冲刺第6次

    二.Scrum部分 1. 各成员情况 翟仕佶 学号:201731103226 今日进展 新增图像拼接合并功能 存在问题 无 明日安排 视情况而定 截图 曾中杰 学号:201731062517 今日进展 ...