Git — 傻瓜内容跟踪器笔记(6)

合并两个分支
  合并两个分支:git merge
  既然我们为项目创建了不同的分支,那么我们就要经常地将自己或者是别人在一个分支上的工作合并到其他的分支上去。现在我们看看怎么将 robin 分支上的工作合并到 master 分支中。现在转移我们当前的工作分支到 master,并且将 robin 分支上的工作合并进来。
  $ git checkout master
  $ git merge -m “Merge from robin” robin
  上面的命令会将 robin 分支的改动 merge 到 master,并生成一个新的 commit 节点,这个 commit 的注释信息为 “Merge from robin”
  (kwydwuf注: $ git merge “Merge work in robin” HEAD robin 是老版本的用法,应该废弃 )
  合并两个分支,还有一个更简便的方式,下面的命令和上面的命令是等价的 (kwydwuf

发表在 Linux study | 评论关闭

Git — 傻瓜内容跟踪器笔记(5)

查看分支
  运行下面的命令可以得到你当前工作目录的分支列表:
  $ git branch
  在你正在工作的分支的名字前面,会有 * 号标示,比如:
  $ git branch
  bugfix
  * master
  说明有两个本地分支 bugfix 和 master, 其中当前的工作分支为 master。
  查看项目的发展变化和比较差异
  这一节介绍几个查看项目的版本库的发展变化以及比较差异的很有用的命令:
  git show-branch
  git diff
  git whatchanged
  我们现在为 robin, master 两个分支都增加一些内容。
  $ git checkout robin
  $ echo “Work, work, workd” >> hello
  $ git commit -m “Some workd” -i hello
  $ git checkout master
  $ echo “Play, play, play” >> hello
  $ echo “Lots of fun” >> example
  $ git commit -m “Some fun” -i hello example
  git show-branch 命令可以使我们看到版本库中每个分支的世系发展状态,并且可以看到每次提交的内容是否已进入每个分支。
  $ git show-branch
  这个命令让我们看到版本库的发展记录。
  * [master] Some fun
  ! [robin] some work
  –
  * [master] Some fun
  + [robin] some work
  *+ [master^] a new day for git
  譬如我们要查看世系标号为 master^ 和 robin 的版本的差异情况,我们可以使用这样的命令:
  $ git diff master^ robin
  我们可以看到这两个版本的差异:
  diff –git a/hello b/hello
  index 263414f..cc44c73 100644
  — a/hello
  +++ b/hello
  @@ -1,2 +1,3 @@
  Hello World
  It’s a new day for git
  +Work, work, work
  Note
  关于 GIT 版本世系编号的定义,请参看 git help rev-parse 。
  我们现在再用 git whatchanged 命令来看看 master 分支是怎么发展的。
  $ git checkout master
  $ git whatchanged
  diff-tree 1d2fa05… (from 3ecebc0…)
  Author: Vortune.Robin
  Date: Tue Mar 21 02:24:31 2006 +0800
  Some fun
  :100644 100644 f24c74a… 7f8b141… M example
  :100644 100644 263414f… 06fa6a2… M hello
  diff-tree 3ecebc0… (from 895f09a…)
  Author: Vortune.Robin
  Date: Tue Mar 21 02:17:23 2006 +0800
  a new day for git
  :100644 100644 557db03… 263414f… M hello
  从上面的内容中我们可以看到,在 robin 分支中的日志为 “Some work” 的内容, 并没有在 master 分支中出现。

发表在 Linux study | 评论关闭

Git — 傻瓜内容跟踪器笔记(4)

管理分支
  管理分支:git branch
  直至现在为止,我们的项目版本库一直都是只有一个分支 master。在 git 版本库中创建分支的成本几乎为零,所以,不必吝啬多创建几个分支。下面列举一些常见的分支策略,仅供大家参考:
  * 创建一个属于自己的个人工作分支,以避免对主分支 master 造成太多的干扰,也方便与他人交流协作。
  * 当进行高风险的工作时,创建一个试验性的分支,扔掉一个烂摊子总比收拾一个烂摊子好得多。
  * 合并别人的工作的时候,最好是创建一个临时的分支,关于如何用临时分支合并别人的工作的技巧,将会在后面讲述。
创建分支
  下面的命令将创建我自己的工作分支,名叫 robin,并且将以后的工作转移到这个分支上开展。
  $ git branch robin
  $ git checkout robin
  更简单和常用的方法是直接通过 checkout 命令来一次性创建并转移到新建分支上,命令如下:
  $ git checkout -b robin [start_point]
  其中 start_point 是一个可选参数,指定新建分支 robin 是基于哪个节点,默认为当前所在分支的节点。
删除分支
  要删除版本库中的某个分支,使用 git branch -d 命令就可以了,例如:
  $ git branch -d branch-name
  但是需要注意的是,如果删除的分支还没有被 merge 到其他分支,删除这样的分支会导致这个分支上所做的改动丢失,因此 git branch -d 命令会失败,提示你这样做会丢失信息。如果你的确想删除这样的分支,不怕信息丢失,那么可以使用 git branch -D 命令,这个命令不会去判断分支的merge状态,例如:
  $ git branch -D branch-name
  通常建议使用 -d 参数来删除分支,以防无意的信息丢失。

发表在 Linux study | 评论关闭

Git — 傻瓜内容跟踪器笔记(3)

提交内容到版本库
  提交内容到版本库:git commit
  既然我们刷新了 Git 的跟踪信息,现在我们看看版本库的状态:
  $ git status
  我们能看到 git 的状态提示:
  #
  # Initial commit
  #
  #
  # Updated but not checked in:
  # (will commit)
  #
  # new file: example
  # new file: hello
  #
  提示信息告诉我们版本库中加入了两个新的文件,并且 git 提示我们提交这些文件,我们可以通过 git commit 命令来提交:
  $ git commit -m “Initial commit of gittutor reposistory”
  查看当前的工作:git diff
  git diff 命令将比较当前的工作目录和版本库数据库中的差异。现在我们编辑一些文件来体验一下 git 的跟踪功能。
  $ echo ‘这段是后来加的’ > snake
  我们再来比较一下,当前的工作目录和版本库中的数据的差别。
  $ git diff
  差异将以典型的 patch 方式表示出来:
  diff –git a/snake b/snake
  index 3b85043..d79f20a 100644
  — a/snake
  +++ b/snake
  @@ -1 +1 @@
  -snake zero
  +这段是后来加的
  此时,我们可以再次使用组合命令 git add 和 git commit 将我们的工作提交到版本库中。
  $ git add snake
  $ git commit -m “new day for git”
  实际上,如果要提交的文件都是已经纳入 git 版本库的文件,那么不必为这些文件都应用 git add 命令之后再进行提交,下面的命令更简捷并且和上面的命令是等价的。
  $ git commit -a -m “new day for git”

发表在 Linux study | 评论关闭

Git — 傻瓜内容跟踪器笔记(2)

植入内容跟踪信息
  植入内容跟踪信息:git add
  为了简明起见,我们创建两个文件作为练习:
  $ echo “Hello world” > hello
  $ echo “Snake Zero” > snake
  我们再用 git add 命令将这两个文件加入到版本库文件索引当中:
  $ git add hello snake
  git add 实际上是个脚本命令,它是对 git 内核命令 git update-index 的调用。因此上面的命令和下面的命令其实是等价的:
  $ git update-index –add hello snake
  如果你要将某个文件从 git 的目录跟踪系统中清除出去,同样可以用 git update-index 命令。例如:
  $ git update-index –force-remove foo.c
  Note
  git add 可以将某个目录下的所有内容全都纳入内容跟踪之下,例如: git add ./path/to/your/wanted 。但是在这样做之前,应该注意先将一些我们不希望跟踪的文件清理掉,例如,gcc 编译出来的 *.o 文件,vim 的交换文件 .*.swp 之类。
  应该建立一个清晰的概念就是,git add 和 git update-index 只是刷新了 git 的跟踪信息,hello 和 snake 这两个文件中的内容并没有提交到 git 的内容跟踪范畴之内。
  普通用户总是应该是用 git add, 而不要使用上面提到的 update-index 内部命令。

发表在 Linux study | 评论关闭

Git — 傻瓜内容跟踪器笔记(1)

Git 是用于 Linux 内核开发的版本控制工具。与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持,使源代码的发布和交流极其方便。 Git 的速度很快,其最为出色的是它的合并跟踪(merge tracing)能力。

创建一个版本库
  创建一个版本库:git init
  现在我们来为本文的写作创建一个版本库:
  $ mkdir gittutorcn
  $ cd gittutorcn
  $ git init
  git 将会作出以下的回应
  Initialized empty Git repository in /[yourpath]/.git
  这样,一个空的版本库就创建好了,并在当前目录中创建一个叫 .git 的子目录。

发表在 Linux study | 评论关闭

版本控制软件

开发项目必然要用到版本控制工具。
常用的版本控制工具有:
  1.Clear case ——–> 是Rational公司的产品,它的安装和维护比较复杂,需要接受专门的培训。
  2.CVS ——–> Concurrent Version System的首字母缩写,CVS的功能除具备VSS的功能外,还具有以下功能
1)可以从任何因特网的接入点存取最新的代码
2)无限制的版本管理检出
3)客户端工具可以在绝大多数的平台上使用
  3.Visual SourceSafe ——–>微软公司的产品,有图形用户界面,是配置管理的一种很好的入门级的工具。
4.SVN ———>是Subversion的简称,记录任何一次改变的数据,放置在一个中央资料档案库 (repository) 中,可以恢复。

发表在 work | 评论关闭

文件系统

文件系统就是在磁盘上组织文件的方法。包括与文件管理有关软件、被管理文件以及实施文件管理所需数据结构。一般一个磁盘分区上最多只有一个文件系统。

发表在 tech | 评论关闭

浏览器类型

browser,是web服务的客户端浏览程序,可以向服务器发送各种请求,并对从服务器发来的超文本信息和各种多媒体数据格式进行解释、显示和播放。

目前比较流行的浏览器有Safari、Chrome、Firefox、 Opera等。

发表在 tech | 评论关闭

Android

Android 是Google开发的一款基于Linux内核的开源手机操作系统。
Android中文意思是机器人。

发表在 tech | 评论关闭