• git学习笔记(二)—— 创建版本库&&版本管理


    一、创建版本库

      创建一个版本库非常简单,首先,选择一个合适的地方,创建一个空目录:

    mkdir gitHub_CXW
    cd gitHub_CXW

    git init
    Initialized empty Git repository in /Users/michael/learngit/.git/
    

       瞬间Git就把仓库建好了,而且告诉你是一个空的仓库(empty Git repository),文件夹内部出现了一个.git文件,可以使用  ls  -ah  进行查看

    二、文件添加到版本库

    git add <file>                     第一步,将文件存入暂存区
    git commit -m "注释"                第二部,将文件存入仓库

    三、工作区状态查询

    git status          获取工作区状态
    git diff            如果git status告诉文件有修改过,则可以使用git diff查看修改内容

    四、版本穿梭

    1、HEAD指向的版本为当前版本

    2、git log

    git log                            显示从最近到最远的提交日志
    git log --pretty=oneline           同上,信息缩略为一行

    3、commit id 版本号

    4、使用HEAD回退版本

    git reset --hard HEAD^
    git reset --hard HEAD^^
    git reset --hard HEAD-100

    5、通过commit id 回到未来的版本

    git reset --hard <commit id>(不需要写全)

    6、要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本

    git reflog     查看命令历史

    五、工作区和暂存区

    1、在电脑能看到的目录即为工作区

    2、版本库:

      (1)工作区中有一个.git文件,这个就是版本库

      (2)Git的版本库最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD

    3、文件往版本库中存的时候:

      第一步   git add   将文件存入stack

      第二部   git commit   将stack的所有内容存入当前分支

    六、管理修改:

    1、为什么Git比其他版本控制系统设计得优秀,因为Git跟踪并管理的是修改,而非文件。

    2、eg:  第一次修改 -> git add -> 第二次修改 -> git commit 

      明显可以看出来,第二次修改是无效的,因为没有加入到暂存器,所以git管理的时候是管理修改,而不是那个文件。

    3、查看版本库和工作区文件的区别

    git diff HEAD --<filename>

    七、撤销修改

    1、撤销工作区的修改

    git checkout -- <filename>

      把<filename>在工作区的修改全部撤销:

    (1)自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态

    (2)已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态

      总之,就是让文件回到git add 或者git commit的上一个状态

    2、撤销暂存区的修改

    git reset HEAD <filename>

      现在暂存区是干净的,工作区有修改,所以可以再通过1操作回退,或者直接进行修改工作区

    3、已经提交了不合适的修改到版本库时,想要撤销本次提交,只能进行版本回退,不过前提是没有推送到远程库。

    八、删除文件

      在文件管理器中,使用

    rm <filename>  

      如果要确定要删除,则

    git rm
    git commit

      另一种情况是删除错误,则使用git恢复

    git checkout -- <filename>
  • 相关阅读:
    VS2013中使用码云gitee建立源代码管理
    win10激活出现错误0xc004f074 解决方案
    List<string> 去重复 并且出现次数最多的排前面
    jQuery.extend(),jQuery.fn.extend() 区别
    js 获取范围内的随机数
    xslt/xpath对不存在属性的判断问题
    查询各科成绩不合格与合格人数
    微信开发之实现一键拨号及短信发送功能
    Git 常用命令
    Excel 表 导入导出
  • 原文地址:https://www.cnblogs.com/BlueMountain-HaggenDazs/p/6427142.html
Copyright © 2020-2023  润新知