#学习笔记# git windows - 4 - 官方教程

  1. git-book
    官方是书比较全面和详细,以下整理一些自己的学习笔记。一共十章...
    动手实操一次,要用时直接搜就好了,不用记了。

一些比较感兴趣和特别的坑

以下的小标题为git-book的相关章节小标题

1.1 在 Windows 上安装

(感觉有坑,后续可能会出现奇怪的问题,搞完这个我就把linux重新搭起来...)

在 Windows 上安装 Git 也有几种安装方法。 官方版本可以在 Git 官方网站下载。 打开 http://git-scm.com/download/win,下载会自动开始。 要注意这是一个名为 Git for Windows的项目(也叫做 msysGit),和 Git 是分别独立的项目;更多信息请访问 http://msysgit.github.io/。

3.4 Git 分支 - 分支开发工作流

(常规工作和分支管理stream)

许多使用 Git 的开发者都喜欢使用这种方式来工作,比如只在 master 分支上保留完全稳定的代码——有可能仅仅是已经发布或即将发布的代码。 他们还有一些名为 develop 或者 next 的平行分支,被用来做后续开发或者测试稳定性——这些分支不必保持绝对稳定,但是一旦达到稳定状态,它们就可以被合并入 master 分支了。 这样,在确保这些已完成的特性分支(短期分支,比如之前的 iss53 分支)能够通过所有测试,并且不会引入更多 bug 之后,就可以合并入主干分支中,等待下一次的发布。

stream-braches

3.6 Git 分支 - 变基

(一个十分神奇的功能)

在 Git 中整合来自不同分支的修改主要有两种方法:merge 以及 rebase。

  1. Merge:
    Figure 35. 分叉的提交历史
    之前介绍过,整合分支最容易的方法是 merge 命令。 它会把两个分支的最新快照(C3 和 C4)以及二者最近的共同祖先(C2)进行三方合并,合并的结果是生成一个新的快照(并提交)。

    git-merge

  2. rebase:
    Figure 36. 通过合并操作来整合分叉了的历史
    其实,还有一种方法:你可以提取在 C4 中引入的补丁和修改,然后在 C3 的基础上应用一次。 在 Git 中,这种操作就叫做 变基。 你可以使用 rebase 命令将提交到某一分支上的所有修改都移至另一分支上,就好像“重新播放”一样。
    它的原理是首先找到这两个分支(即当前分支 experiment、变基操作的目标基底分支 master)的最近共同祖先 C2,然后对比当前分支相对于该祖先的历次提交,提取相应的修改并存为临时文件,然后将当前分支指向目标基底 C3, 最后以此将之前另存为临时文件的修改依序应用。(译注:写明了 commit id,以便理解,下同)

git-rebase

3.merge , rebase 异同
这两种整合方法的最终结果没有任何区别,但是变基使得提交历史更加整洁。 你在查看一个经过变基的分支的历史记录时会发现,尽管实际的开发工作是并行的,但它们看上去就像是串行的一样,提交历史是一条直线没有分叉。

  1. 变基的风险
    (哈哈哈哈哈哈)
    呃,奇妙的变基也并非完美无缺,要用它得遵守一条准则:
    不要对在你的仓库外有副本的分支执行变基。
    如果你遵循这条金科玉律,就不会出差错。 否则,人民群众会仇恨你,你的朋友和家人也会嘲笑你,唾弃你。

4.1 服务器上的 Git - 协议

先不搭服务器,以后再看

后面很多高阶用法暂时用不到...先过一遍

7.9 Git 工具 - Rerere

Rerere
git rerere 功能是一个隐藏的功能。 正如它的名字 “reuse recorded resolution” 所指,它允许你让 Git 记住解决一个块冲突的方法,这样在下一次看到相同冲突时,Git 可以为你自动地解决它。

8.4 自定义 Git - 使用强制策略的一个例子

使用强制策略的一个例子

(迟一点也要学一下这几种语言...)

我们待会展示的脚本是用 Ruby 写的,部分是由于我习惯用它写脚本,另外也因为 Ruby 简单易懂,即便你没写过它也能看明白。 不过任何其他语言也一样适用。所有 Git 自带的示例钩子脚本都是用 Perl 或 Bash 写的,所以你能从它们中找到相当多的这两种语言的钩子示例。

9.1 Git 与其他系统 - 作为客户端的 Git

(竟然还能混用)

现实并不总是尽如人意。 通常,你不能立刻就把接触到的每一个项目都切换到 Git。 有时候你被困在使用其他 VCS 的项目中,却希望使用 Git。 在本章的第一部分我们将会了解到,怎样在你的那些托管在不同系统的项目上使用 Git 客户端。

在某些时候,你可能想要将已有项目转换到 Git。 本章的第二部分涵盖了从几个特定系统将你的项目迁移至 Git 的方法,即使没有预先构建好的导入工具,我们也有办法手动导入。

你可能感兴趣的:(#学习笔记# git windows - 4 - 官方教程)