Git命令详解

git和svn类似,都是一个版本控制系统

初次使用git前的配置

- git config --global user.name “用户名”
- git config --golbal user.email “邮箱”
-git config --list 查看是否配 置成功
其实git bash是一个模拟linux的一个cmd

  • git的工作流程一般是:
  1. 在工作目录添加、修改文件
  2. 将需要进行版本管理的文件放入暂存区域
  3. 将暂存区域的文件提交到git仓库
  • 一般存在三种状态:
  1. 已修改(modified)
  2. 已暂存(staged)
  3. 已提交(commited)

初始化一个本地仓库

  • $ git init 会产生一个.git文件
    首先创建一个名叫repository的空文件夹,打开执行上述命令,会生成.git的隐藏文件夹,这就是版本库,respository就是工作区。
    版本库与工作区的概念

添加文件

  • $ git add 文件名
    untracked files指的是未跟踪文件,我们如果在工作区添加了一个文件,但是未提交,如果使用git status就会有这个反馈

  • $ git reset HEAD
    将暂存区的文件从暂存区撤回,使它不被add

提交文件

  • $ git commit -m “说明语言,版本做了怎样的改动”

查看状态

  • $ git status

如果对于一个已经commit的文件,对于这个文件做修改

  • 如果重新git add,那还好
  • 如果git checkout – 文件名,那么这个文件里的修改会被还原为原来commit的内容

如果对于一个已经add的文件,对于这个文件做修改

  • 会有两棵树,一棵树是暂存区,一棵树是工作站,
    如果直接commit,则这个修改无效,提交修改前的文件
  • 如果先add,则原来修改之前的会被修改的覆盖,最后commit再提交

查看历史提交数据

  • $ git log 不可以看到head指向和仓库
  • git log --decorate 可以看到head指向,还有仓库有哪些
  • git log --decorate --online 其中online是以一行的形式展示的意思
  • git log --decorate --online --graph --all 其中all是显示所有分支的意思

git reset

git reset --mixed HEAD~ (无快照关键字,默认mixed)

  • 移动HEAD的指向,将其指向上一个快照(修改第三棵树)
  • 将HEAD移动后指向的快照回滚到暂存区域(修改第二棵树)
  • git reset HEAD~ / git reset HEAD~4(~~~~) :之前第4个版本的快照

git reset --soft HEAD~

  • 移动HEAD的指向,将其指向上一个快照(暂存区域(第二棵树)不修改,仅仅修改仓库repository)(比如提交的commit的信息写错了,重新写)

git reset --hard HEAD~

  • 移动HEAD的指向,将其指向上一个快照
  • 将HEAD移动后指向的快照回滚到暂存区域
  • 将暂存区域的文件还原到工作目录

回滚个别/单个文件

git reset 版本快照 文件名/路径

可以往前滚,只需要版本快照的id号

git reset 版本快照 id号(hash值前5位)

查看历史版本号

需要补

版本对比

git diff

新建分支

git branch 分支名

切换分支

  • git checkout 分支名 (head指向分支名)
  • git checkout -b 分支名 (偷了个懒,创建并切换到分支中)

合并分支

如果当前在master上,git merge feature,将feature合并到master

删除分支

git branch -d(–delete) 分支名
一般单个-表示简称,两个–表示全名

git checkout – 文件名

在这里插入图片描述

reset 和checkout区别

  • 恢复文件
    reset只能将指定文件恢复到暂存区域,但是checkout可以恢复到暂存区域和工作目录,reset hard不可以,后面跟快照名
  • 恢复快照
    在这里插入图片描述
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值