• git学习(三):git暂存区


    回顾之前学过的命令:

    1 git init              // 初始化一个项目
    2 git add               // 将文件交给工作区
    3 git commit            // 提交修改

    查看提交日志:

    1 git log               // 查看提交日志
    2 git log --stat        // 每次提交文件的变更统计

    可进行空的提交,也就是不提交任何文件的修改:

    1 git commit --allow-empty

    比较差异:

    1 git diff              // 查看修改后的文件于版本库中文件的差异

    修改不能直接提交么?

    对于已经commit到版本库中的文件,如果再修改的话,不能直接提交,还是要用git add命令添加一下才能提交。

    可以从一下几个命令验证修改后直接提交并没有成功:

    1 git diff                     // 比较差异
    2 git log --pretty=oneline     // 查看提交日志
    3 git status -s                // 显示文件的状态, M表示修改了,??表示新增
    1 On branch master
    2 Changes not staged for commit:
    3         modified:   welcome.txt
    4 
    5 Untracked files:
    6         test.ini
    7 
    8 no changes added to commit

    需要针对修改的文件使用git add命令,将修改的文件添加到"提交任务"中,然后才能提交!

    对于其他的版本控制系统来说执行add操作是向版本库中添加新文件用的,修改的文件(已被版本控制跟踪的文件)在下次提交时会直接被提交。但是git为啥还要我们做一次add动作呢?

    1 git add welcome.txt     // 添加文件
    2 git diff                // 与中间状态以无区别
    3 git diff HEAD           // HEAD表示版本库的头指针
    4 git status
    5 git status -s           // 输出的M的位置有变化

    M位置不同的含义是什么呢?

    在执行完git add命令之前,这个M位于第二列(第一列是一个空格),在执行完git add之后,字符M位于第一列,第二列是空白。

    位于第一列的字符M:版本库中的文件与处于中间状态——提交任务(提交暂存区,stage)中的文件相比有改动

    位于第二列的字符M:工作区当前的文件与处于中间状态——提交任务(提交暂存区,stage中的文件相比有改动。

    先不忙着执行git commit命令,再执行一些操作

    1 echo "Bye-Bye." >> welcome.txt
    2 git status
    3 git status -s

  • 相关阅读:
    java中计算两个时间差
    增强for循环用法
    SQLServer类型与Java类型转换问题解决
    有关SQL模糊查询
    js 弹出div窗口 可移动 可关闭 (转)
    登陆sqlserver及修改端口号 (转)
    C#判断IP地址是否合法函数-使用正则表达式-2个 (转)
    c#图像处理入门(-bitmap类和图像像素值获取方法) 转
    MongoDB C#驱动中Query几个方法 (转)
    微信公众帐号自定义菜单创建及事件响应开发教程 附源代码(转)
  • 原文地址:https://www.cnblogs.com/tuhooo/p/9181369.html
Copyright © 2020-2023  润新知