赞
踩
Git 的官网上有很详细的使用教程(当然有翻译版本),具体地址是 https://git-scm.com/book/zh/v2。唯一不足就是,很多讲解并没有实机演示。但是,毫无疑问,官网资料是最全面的!如果有任何疑问,可以去官网看看!
Git 和其它版本控制系统(包括 Subversion 和近似工具)的主要差别在于 Git 对待数据的方法。 概念上来区分,其它大部分系统以文件变更列表的方式存储信息。 这类系统(CVS、Subversion、Perforce、Bazaar 等等)将它们保存的信息看作是一组基本文件和每个文件随时间逐步累积的差异。
Git 不按照以上方式对待或保存数据。 Git 更像是把数据看作是对小型文件系统的一组快照。 每次你提交更新或在 Git 中保存项目状态时,它主要对当时的全部文件制作一个快照并保存这个快照的索引。 为了高效,如果文件没有修改,Git 不再重新存储该文件,而是只保留一个链接指向之前存储的文件。Git 对待数据更像是一个快照流。
Git 中所有数据在存储前都计算校验和,然后以校验和来引用。 这意味着不可能在 Git 不知情时更改任何文件内容或目录内容。 这个功能建构在 Git 底层,是构成 Git 哲学不可或缺的部分。 若你在传送过程中丢失信息或损坏文件,Git 就能发现。
Git 用以计算校验和的机制叫做 SHA-1 散列(hash,哈希)。 这是一个由 40 个十六进制字符(0-9 和 a-f)组成的字符串,基于 Git 中文件的内容或目录结构计算出来。
Git 管理的文件有三种状态,你的文件可能处于其中之一:已提交(committed)、已修改(modified)和已暂存(staged)。由此引入 Git 项目的三个工作区域的概念:Git 仓库、工作目录以及暂存区域。
根据是否使用远程仓库,工作流程可以分本地工作流程和远程工作流程。
主要是指的对于本地仓库的各种操作!如下图所示:
下面是实际的 Git 命令示例:
ZCShou@ZCShou-PC MINGW64 /e/N_W_Z/N_W_Z_3 $ git init Initialized empty Git repository in E:/N_W_Z/N_W_Z_3/.git/ ZCShou@ZCShou-PC MINGW64 /e/N_W_Z/N_W_Z_3 (master) $ vim a.txt ZCShou@ZCShou-PC MINGW64 /e/N_W_Z/N_W_Z_3 (master) $ git status On branch master No commits yet Untracked files: (use "git add <file>..." to include in what will be committed) a.txt nothing added to commit but untracked files present (use "git add" to track) ZCShou@ZCShou-PC MINGW64 /e/N_W_Z/N_W_Z_3 (master) $ git add a.txt warning: LF will be replaced by CRLF in a.txt. The file will have its original line endings in your working directory ZCShou@ZCShou-PC MINGW64 /e/N_W_Z/N_W_Z_3 (master) $ git status On branch master No commits yet Changes to be committed: (use "git rm --cached <file>..." to unstage) new file: a.txt ZCShou@ZCShou-PC MINGW64 /e/N_W_Z/N_W_Z_3 (master) $ git commit -m "新增" [master (root-commit) ba06d60] 新增 1 file changed, 1 insertion(+) create mode 100644 a.txt ZCShou@ZCShou-PC MINGW64 /e/N_W_Z/N_W_Z_3 (master) $ git status On branch master nothing to commit, working tree clean ZCShou@ZCShou-PC MINGW64 /e/N_W_Z/N_W_Z_3 (master) $
主要是指的本地仓库与远程仓库的关联同步的问题。在关联了远程仓库后,我们本地仓库有变动之后,通常还需要将变动推送到关联的远程仓库。下图是一个使用 Git 开源项目的典型工作流程:
在 Git 仓库初始化之后,会在指定的目录下生一个名为 .git
的文件夹。这个文件夹是个隐藏目录,Windows 系统需要开启显示隐藏才能看到!对于.git
所在的仓库的所有操作,都会记录在该文件中的各文件中。下面我们就来分析一下这个目录。
.gitignore
文件中管理的忽略模式的全局可执行文件git ls-files
来查看内容。Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。