Git初探--笔记整理和Git命令详解

几个重要的概念 

 首先先明确几个概念:

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 "[email protected]"

   顾名思义设置一个用户名和邮箱,主要用于在提交代码时显示,方便别人知道这个代码是谁提交的,但只在当前仓库中起作用,如果加上----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 push origin remote  :将本地库的项目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 的命令还有很多,比较常用的就是这些,以后碰到了再随时补充吧~

时间: 2024-08-24 21:27:25

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

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

原文连接:http://www.jb51.net/os/RedHat/1334.html 在linux下一些常用的关机/重启命令有shutdown.halt.reboot.及init,它们都可以达到重启系统的目的,但每个命令的内部工作过程是不同的. Linux centos重启命令: 1.reboot 2.shutdown -r now 立刻重启(root用户使用) 3.shutdown -r 10 过10分钟自动重启(root用户使用) 4.shutdown -r 20:35 在时间为20:3

Git命令详解(一)-个人使用

原文  http://blog.csdn.net/magicharvey/article/details/12431867 本文暂时不会涉及到团队如何使用Git的内容,而是从个人的角度探讨如何用好Git. 约定 绿色的5位字符表示提交的ID,分别指向父节点.分支用橘色显示,分别指向特定的提交.当前分支由附在其上的标识. 这张图片里显示最后5次提交,是最新提交.分支指向此次提交,另一个分支指向祖父提交节点. git cat-file git cat-file -t,查看Git对象的类型,主要的gi

git archive命令详解

git archive可以将加了tag的某个版本打包提取出来,例如: git archive -v --format=zip v0.1 > v0.1.zip --format表示打包的格式,如zip,-v表示对应的tag名,后面跟的是tag名,如v0.1. git archive命令详解,布布扣,bubuko.com

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

原文网址:http://blog.csdn.net/ithomer/article/details/7529022 Git 是一个很强大的分布式版本管理工具,它不但适用于管理大型开源软件的源代码(如:linux kernel),管理私人的文档和源代码也有很多优势(如:wsi-lgame-pro) Git 的更多介绍,请参考我的上一篇博客:Git 版本管理工具 一. Git 命令初识 在正式介绍Git命令之前,先介绍一下Git 的基本命令和操作,对Git命令有一个总体的认识 示例:从Git 版本库

Linux学习笔记—— 用户管理命令详解

 用户管理命令详解  用户管理: useradd,userdel,usermod,passwd,chsh,chfn,finger,id,chage 添加用户: useradd [options] USERNAME    -u (UID)   手动指定UID -g (GID)  (基本组) -G, ...     (附加组) 可以有多个,彼此之间用,号隔开 -c "COMMENT"         注释信息     -d /path/to/somedirectory  指定家目录 -s

2.2 linux sed命令详解

简介 sed 是一种在线编辑器,它一次处理一行内容.处理时,把当前处理的行存储在临时缓冲区中,称为"模式空间"(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕.接着处理下一行,这样不断重复,直到文件末尾.文件内容并没有 改变,除非你使用重定向存储输出.Sed主要用来自动编辑一个或多个文件:简化对文件的反复操作:编写转换程序等. sed使用参数 [[email protected] ~]# sed [-nefr] [动作] 选项与参数

Linux 文本对比 diff 命令详解(整理)

diff 命令详解 1.概述 windows系统下面就有不错的文本对比工具可以使用,例如常用的Beyond Compare,WinMerge都是图形界面的比较工具而且使用非常方便,如果你仅仅是在windows下工作,这些GUI的比较工具绝对是首选.对于在linux环境下工作的人来说,如果每次想看两个文件的区别都要将文件下载到windows环境然后用图形工具进行比较实在是太麻烦了.那么我们必须学会使用linux环境下的比较工具 diff. diff命令在最简单的情况下,比较给定的两个文件的不同.如

docker 命令详解

Docker是一个用了一种新颖方式实现的超轻量虚拟机,在实现的原理和应用上还是和VM有巨大差别,专业的叫法是应用容器(Application Container).(我个人还是喜欢称虚拟机) Docker应用容器相对于 VM 有以下几个优点: 启动速度快,容器通常在一秒内可以启动,而 VM 通常要更久 资源利用率高,一台普通PC 可以跑上千个容器,你跑上千个 VM 试试 性能开销小, VM 通常需要额外的 CPU 和内存来完成 OS 的功能,这一部分占据了额外的资源 因为VM 的 Hypervi

awk命令详解二

awk命令详解 简单使用: awk :对于文件中一行行的独处来执行操作 . awk -F :'{print $1,$4}'   :使用‘:’来分割这一行,把这一行的第一第四个域打印出来 . 详细介绍: AWK命令介绍 awk语言的最基本功能是在文件或字符串中基于指定规则浏览和抽取信息,awk抽取信息后,才能进行其他文本操作,完整的awk脚本通常用来格式化文本文件中的信息 1.   调用awk: 第一种命令行方式,如: awk [-Field-separator] 'commands' input