zoukankan      html  css  js  c++  java
  • git 本地仓库操作

    一、git对象模型和存储

     

    二、常用命令

    1)git checkout branch 切换分支

    假设现在有两个分支,master和dev分支

    i dev分支上没有readme.txt

      在master分支上我修改了readme.txt但是没有commit到本地仓库,那么在dev分支上仍然会看到readme.txt

      在master分支上我修改了readme.txt并且commit到本地仓库,那么dev分支上没有readme.txt

    ii dev分支上存在readme.txt

      在master分支上我修改了readme.txt但是没有commit到本地仓库,切换失败,提示commit后再切换分支

      在master分支上我修改了readme.txt并且commit到本地仓库,切换成功,两个readme.txt互不影响

    2)git checkout master~3 将HEAD指针回退,并取出其中的数据添加到工作区和缓存区

    因为是添加而非覆盖,所以当你在ed489上做的操作,没有commit时,当切换到b325,仍然可以看到那些未commit的文件。

    如果现在在b325上做了修改,并且commit了,则commit的内容会丢失,因为切换到b325时,并不在任何一个分支上,此时显示的是:

     

    如果想要这次更改,可以在commit前,git checkout -b branchName,将这个位置新建为一个分支,然后commit,此时的修改内容可以在新的分支上查找到。

    3) git checkout master~3 filename 将filename这个文件切换到之前的版本,注意切换后仍然在master分支上,是用b325中的filename文件覆盖了ed489的filename,此时commit会生成新的校验和,也就是新的commit

    4) git revert b325c 将b325c的commit复制到当前commit末尾,生成新的commit,是较安全的版本回退

     5)git cherry-pick commitID 将commitID重演,并在当前commit链表末尾添加新的commit,同时将此时文件添加到stage和working directory

    6) git diff

  • 相关阅读:
    LoggingApplicationListener
    Repeated meta-data items
    善待Redis里的数据--Unable to validate object
    mysql启动的四种方式
    mybatis操作动态表+动态字段+存储过程
    VMware 11安装Mac OS X 10.10
    JMS开源比较
    VMware 11安装Mac OS X 10.10
    网页设计的标准尺寸
    FullPage.js
  • 原文地址:https://www.cnblogs.com/YangqinCao/p/6798435.html
Copyright © 2011-2022 走看看