xglys 发表于 2018-9-19 06:58:27

git 功能的活学活用及探讨 [zt]

git 功能的活学活用及探讨[来源:网上转载 (http://bbs.chinaunix.net) | 作者:网友(platinum) | 时间:2007-09-20 | 浏览:79             人次 ]我先放一个教程上来  我不太了解
  $ git-fetch origin    (1)
  $ git-rebase origin    (2)
  $ git-format-patch origin      (3)
  的功能,Yuri.G. 进来指导一下 http://linux.chinaunix.net/bbs/images/smilies/icon_mrgreen.gif
  2007-9-19 21:59
  下载次数: 4http://linux.chinaunix.net/bbs/images/attachicons/binary.gif git教程.htm.bz2 (15.86 KB)
指导不敢,我也之只是略懂皮毛,分享一下吧.  据我的了解
  git-fetch是抓取外部版本库的.
  以下是一段引用
  QUOTE:$ git-fetch
  根据不同的远程版本库所使用的通讯协议的路径来替代上面的 remoted-repository 就可以了。
  Rsync
  rsync://remote.machine/patch/to/repo.git/
  SSH
  remote.machine:/path/to/repo.git
  or
  ssh://remote.machine/patch/to/repo.git/
  这是可以上传和下载的双向传输协议,当然,你要有通过 ssh 协议登录远程机器的权限。它可以找出两端的机器提交过的对象集之中相互缺少了那些对象,从而得到需要传输的最小对象集。这是最高效地交换两个版本库之间的对象的方式(在 git 兼容的所有传输协议当中)。
  下面是个取得 SSH 远程版本库的命令例子:
  $ git-fetch robin@192.168.1.168:/path/to/gittutorcn.git   (1)
  (1) 这里 robin 是登录的用户名,192.168.1.168 是保存着主版本库的机器的 IP 地址。
  Local directory
  /path/to/repo.git/
  本地目录的情况和 SSH 情况是一样的。
  git Native
  git://remote.machine/path/to/repo.git/
  git 自然协议是设计来用于匿名下载的,它的工作方式类似于 SSH 协议的交换方式。
  HTTP(S)
  http://remote.machine/path/to/repo.git/
  到这里可能有些朋友已经想到,实际上,我们可以通过 Rsync, SSH 之类的双向传输方式来建立类似 CVS,SVN 这样的中心版本库模式的开发组织形式。
git-reset是逆转和恢复.就是版本回退.  QUOTE:逆转与恢复:git-reset
  项目跟踪工具的一个重要任务之一,就是使我们能够随时逆转(Undo)和恢复(Redo)某一阶段的工作。
  git-reset 命令就是为这样的任务准备的。它将当前的工作分支的 头 定位到以前提交的任何版本中,它有三个重置的算法选项。
  命令形式:
  git-reset [--mixed | --soft | --hard] []
  命令的选项:
  --mixed
  仅是重置索引的位置,而不改变你的工作树中的任何东西(即,文件中的所有变化都会被保留,也不标记他们为待提交状态),并且提示什么内容还没有被更新了。这个是默认的选项。
  --soft
  既 不触动索引的位置,也不改变工作树中的任何内容,我们只是要求这些内容成为一份好的内容(之后才成为真正的提交内容)。这个选项使你可以将已经提交的东西 重新逆转至“已更新但未提交(Updated but not Check in)”的状态。就像已经执行过 git-update-index 命令,但是还没有执行 git-commit 命令一样。
  --hard
  将工作树中的内容和头索引都切换至指定的版本位置中,也就是说自之后的所有的跟踪内容和工作树中的内容都会全部丢失。因此,这个选项要慎用,除非你已经非常确定你的确不想再看到那些东西了
git-format-patch 似乎也只是生成email 形式的补丁用于发给上游的维护者.  QUOTE:原帖由 platinum 于 2007-9-19 21:59 发表 http://linux.chinaunix.net/bbs/images/common/back.gif
  我先放一个教程上来
  我不太了解
  $ git-fetch origin    (1)
  $ git-rebase origin    (2)
  $ git-format-patch origin      (3)
  的功能,Yuri.G. 进来指导一下 http://linux.chinaunix.net/bbs/images/smilies/icon_mrgreen.gif
  这个HTML是用什么写的?格式很好,我需要一个这样的工具.
哦,不是 git-reset,是 git-rebase  HTML 我不清楚,我是在网络上找到的
Sorry看快了.  http://www.kernel.org/pub/software/scm/git/docs/git-rebase.html
  这个我也没怎么用过,大概估计跟应用补丁差不多.
  下面有一个能表达意思的图
   [ - ]CODE:               A---B---C topic
  /
  D---E---F---G master
  From this point, the result of either of the following commands:
  git-rebase master
  git-rebase master topicwould be:
  A'--B'--C' topic
  /
  D---E---F---G master
  The latter form is just a short-hand of git checkout topic followed by git rebase master.
中文资料不太多,英文的看上去又很累很抽象,有具体需求时再研究吧……
页: [1]
查看完整版本: git 功能的活学活用及探讨 [zt]