Articles in the Version category

  1. Git版本库管理

    在开发过程中往往会使用第三方库,可有时候会因为某种原因不使用了,我们可以使用 reset或是直接删除的方式将库删除,比如开发中用到了某度的SDK,可是发现crash的概率太大需要舍弃之。可是,这些库的影子还在版本库的历史中可以找到,会增大库的体积。这时候我们就需要完全清楚这些“残留”文件。
    本篇内容可在Git权威指南第14章中找到。

    松散对象

    Git中对于以SHA1值作为目录名和文件保存的对象称之为松散对象。因此 add,commit等操作都会产生一系列的松散对象。大量的松散对象会造成访问效率低下,占用过多存储空间。在Git中可以通过打包的方式提高访问效率,同时也方便通过增量更新的方式节省存储空间。

    暂存区中的临时对象

    添加到暂存区的文件发现不需要了,我们应该怎么办? 首先我们复制2个稍大的(10M)的文件到工作区,然后添加到暂存区:

    $ cp /Users/xxxxx/Desktop/test.zip bigfile
    $ cp /Users/xxxxx/Desktop/test.zip bigfile.dup
    $ git add bigfile ...
    Tagged as : git
  2. git revert && svn revert的不同

    最近在看git,注意到revert命令,不禁想起svn的revert。于是把两者的功能进行了对比,以加深命令的理解。

    git revert

    对应的中文术语叫反转提交,基本的用法:

    git revert commit-ish
    

    该命令运行后会新加一个提交,该提交的内容即commit-ish所指向提交的父提交,此时版本库的内容“回退”到之前的某个版本。注意在运行本命令前,当前工作区不能有未提交的改动。

    svn revert

    svn中revert即回滚,基本用法

    svn revert PATH
    

    其中PATH可以是单个文件,也可以是文件夹。如果是文件夹的话,就需要用-R参数,表示递归执行。执行完命令后,本地文件的所有修改都被放弃,所以此时执行时不需要联网。

    svn实现git revert的功能

    如果要向用svn实现git revert的功能那么就需要:

    svn update
    //确保版本库最新
    svn log
    //找到想要“回复”的版本号
    svn merge -r currentID ...
    Tagged as : revert git svn
  3. git commit -a 的误区

    Author: Charles Zhu
    Summary: git 错误理解

    SVN下的项目管理

    在使用SVN进行版本管理的时候,我喜欢完成一个功能后进行提交。因为SVN设计的项目大多是在Linux系统,由于缺少较好的IDE,通常会先使用svn status 查看修改的文件,然后逐一确认,最后使用 svn ci -a -m \"commit content\" 进行提交。

    git下的误区

    大多数情况下,我一直按照SVN的方式处理git项目。我也一直感觉使用git commit -a很爽,直到有一天发现git的log显示...
    接下来我们来做一些操作:

    $ git init
    $ echo "this is a init text" >> hello.txt
    $ git status
    On branch master
    
    Initial ...
    Tagged as : git

Page 1 / 1