几个重要的概念 

 首先先明确几个概念:

WorkPlace : 工作区

  Index: 暂存区

  Repository: 本地仓库/版本库

  Remote: 远程仓库

  当在Remote(如Github)上面clone一个项目到本地时(假设项目名为GitTest),在本地就会看到一个名为GitTest的目录,目录下有项目代码和一个名为.git的目录,什么是工作区呢,就是除了.git文件夹以外的所有东西,我们主要在工作区上阅读,修改,添加删除代码和其他内容,而这个.git目录就称为一个版本库,这个版本库中存放有很多东西,比如有Git为我们自动创建的一个master分支一个指向该分支的一个Head指针,其中就有一个名称为index的区域,就是暂存区,下面盗个图:

Git命令详解

  git init  将当前目录初始化为一个git可以管理的仓库

  git clone [url]  从指定的url下载一个项目到当前目录,自动将其变为一个git仓库

  git config [--global] user.name "zhangSan"  git config [--global] user.email "zhangsan@qq.com"

   顾名思义设置一个用户名和邮箱,主要用于在提交代码时显示,方便别人知道这个代码是谁提交的,但只在当前仓库中起作用,如果加上----global参数 则会在所有仓库都显示这个用户名和邮箱.

  

  git add 文件 :添加指定文件到暂存区

  git add -A: 添加当前工作区所有修改文件到暂存区

  git commit -m "...." :将暂存区的内容提交到本地仓库,省略号中的内容最好是有意义的注释,方便自己和别人以后查看.

  git status   查看当前仓库的状态,能够清晰地看到哪些文件修改了,哪些文件在暂存区等信息

  git diff 文件名 :如果文件修改了,已经添加到暂存区,我们希望看一下文件具体哪些内容被修改了,可以使用此命令,能够看到具体修改了的内容

  git log 查看项目的提交日志,包含一个版本号,提交者的名称和邮箱,提交日期,以及提交时添加的注释.

  git reset --hard HEAD^ :回退到上一个版本,如果使用两个^就是回退到上上个版本

   git reset --hard 76786554  :根据版本号回退到指定版本,版本号可以通过git log 查看,版本号很长,取前几位即可

   git checkout --a.txt    :撤销对a.txt的修改,这里分两种情况,1 如果a.txt已修改,但未提交到暂存区,则会将a.txt撤销到和版本库相同的状态. 2 如果a.txt已经添加到暂存区又做了修改,则会将a.txt撤销到刚添加到暂存区时候的状态.

  git reset HEAD a.txt   :如果a.txt已经修改并添加到暂存区,但我们希望将它撤回到工作区,使用此命令

  git rm a.txt   :从版本库中删除a.txt

  git pull <远程主机名> <远程分支名>:<本地分支名>:   取回远程主机某个分支的更新,再与本地的指定分支合并

  git pull origin develop:master: 取回远程主机的develop分支与本地的master分支合并

  git push <远程主机名> <本地分支名>:<远程分支名>: 将本地指定分支的更新,推送到远程主机的指定分支

   git push origin master  :将本地库的master分支项目push到远程库中

  git branch   :查看当前分支

  git branch -r:查看远程分支

  git branch -a: 查看所有分支

  git branch develop:从当前分之中创建一条名为develop的分支

  git checkout develop:从当前分支跳转到名为develop的分支上去

  git checkout -b develop :从当前分支创建一条名为develop的分支并且跳转到该分支上去,相当于上面两条命令的简化

  git merge develop:将名为develop的分支合并到当前分支上来

  git branch -d develop: 将名为develop的分支删除

  git 的命令还有很多,比较常用的就是这些,以后碰到了再随时补充吧~

Git初探--笔记整理和Git命令详解的更多相关文章

  1. [ kvm ] 学习笔记 5:QEMU-KVM 命令详解

    1. QEMU.KVM .QEMU-KVM QEMU 提供了一系列的硬件模拟设备(cpu.网卡.磁盘等),客户机指令都需要QEMU翻译,因此性能较差.KVM 是Linux 内核提供的虚拟化模块,负责C ...

  2. Linux笔记之——Linux关机命令详解(转)

    原文连接:http://www.jb51.net/os/RedHat/1334.html 在linux下一些常用的关机/重启命令有shutdown.halt.reboot.及init,它们都可以达到重 ...

  3. linux命令学习笔记-kill和killall命令详解

    *杀死进程最安全的方法是单纯使用kill命令,不加修饰符,不带标志. 首先使用ps -ef命令确定要杀死进程的PID,然后输入以下命令: # kill -pid 注释:标准的kill命令通常都能达到目 ...

  4. Git命令详解

    一个中文git手册:http://progit.org/book/zh/ 原文:http://blog.csdn.net/sunboy_2050/article/details/7529841 前面两 ...

  5. Git 常用命令详解

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

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

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

  7. 【转】 Git 常用命令详解(二)----不错

    原文网址:http://blog.csdn.net/ithomer/article/details/7529022 Git 是一个很强大的分布式版本管理工具,它不但适用于管理大型开源软件的源代码(如: ...

  8. git命令详解( 七 )

    此为git命令详解的第七篇 这章我们可以来逐渐揭开 git push.fetch 和 pull 的神秘面纱了.我们会逐个介绍这几个命令,它们在理念上是非常相似的.   git push的参数 git ...

  9. git命令详解( 四 )

    此篇为git命令详解的第四篇,话不多说,我们直接上知识点好吧 git Push 偏离的工作 gitPush: 此命令负责将你的变更上传到指定的远程仓库,并在远程仓库上合并你的新提交记录.一旦 git ...

随机推荐

  1. HTTPS 互联网世界的安全基础

    近一年公司在努力推进全站的 HTTPS 化,作为负责应用系统的我们,在配合这个趋势的过程中,顺便也就想去搞清楚 HTTP 后面的这个 S 到底是个什么含义?有什么作用?带来了哪些影响?毕竟以前也就只是 ...

  2. MVVM设计模式和WPF中的实现(四)事件绑定

    MVVM设计模式和在WPF中的实现(四) 事件绑定 系列目录: MVVM模式解析和在WPF中的实现(一)MVVM模式简介 MVVM模式解析和在WPF中的实现(二)数据绑定 MVVM模式解析和在WPF中 ...

  3. C语言 · 整数平均值

    编写函数,求包含n个元素的整数数组中元素的平均值.要求在函数内部使用指针操纵数组元素,其中n个整数从键盘输入,输出为其平均值. 样例输入: (输入格式说明:5为输入数据的个数,3 4 0 0 2 是以 ...

  4. JAVA语言中的修饰符

    JAVA语言中的修饰符 -----------------------------------------------01--------------------------------------- ...

  5. CRL快速开发框架系列教程三(更新数据)

    本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...

  6. 每天一个设计模式-7 生成器模式(Builder)

    每天一个设计模式-7 生成器模式(Builder) 一.实际问题 在讨论工厂方法模式的时候,提到了一个导出数据的应用框架,但是并没有涉及到导出数据的具体实现,这次通过生成器模式来简单实现导出成文本,X ...

  7. maven打包插件:appassembler

    1.打包成bat 打包命令:mvn clean package appassembler:assemble <plugin> <groupId>org.codehaus.moj ...

  8. 我的MYSQL学习心得(十) 自定义存储过程和函数

    我的MYSQL学习心得(十) 自定义存储过程和函数 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心 ...

  9. 《开源博客Q群》和《NET上海Q群》入群须知

    开源博客Q群 群名:<嗨-博客> 群号:469075305(已满) 491585006(New) 群简介:“我们每个猿都有一个搭建自己独立博客的梦”. 入群要求: 您可以是HR,私聊管理员 ...

  10. 快速构建App界面的框架(●'◡'●) -----SalutJs

    前言 卤煮在公司之初接触到的是一个微信APP应用.前端技术采用的是Backbone+zepto等小型JS类库.在项目开发之初,这类中小型的项目采用这两种库可以满足基本的需求.然而,随着迭代的更新和业务 ...