@ 目录 1.克隆现有仓库:git clone 2.检查当前文件状态 :git status 3.跟踪新文件:git add 4.暂存已修改的文件:git add 5.状态简览: git status -s 6.忽略文件:.gitignore 7.查看已暂存和未暂存的修改:git diff 8.提交更新:git commit 9.跳过使用暂存区域:git commit -a 10.移除文件:git rm 11.移动(重命名)文件:git mv file_from file_to 1.克隆现有仓库…
记录每次更新到仓库 工作目录下面的所有文件都不外乎这两种状态:已跟踪或未跟踪.已跟踪的文件是指本来就被纳入版本控制管理的文件,在上次快照中有它们的记录,工作一段时间后,它们的状态可能是未更新,已修改或者已放入暂存区.而所有其他文件都属于未跟踪文件.它们既没有上次更新时的快照,也不在当前的暂存区域.初次克隆某个仓库时,工作目录中的所有文件都属于已跟踪文件,且状态为未修改. 在编辑过某些文件之后,Git 将这些文件标为已修改.我们逐步把这些修改过的文件放到暂存区域,直到最后一次性提交所有这些暂存起来…
2.1 获取 Git 仓库 获取 Git 仓库通常有两种方式 将尚未进行版本控制的本地目录转换为 Git 仓库: 从其它服务器 克隆 一个已存在的 Git 仓库. 在已存在目录中初始化仓库 首先进入该项目目录,之后执行 $ git init 该命令将创建一个名为 .git 的子目录,这个子目录含有你初始化的 Git 仓库中所有的必须文件,这些文件是 Git 仓库的骨干. 如果此项目中已有文件,应该开始追踪这些文件并进行初始提交.通过 git add 命令来指定所需的文件来进行追踪,然后执行 gi…
git status 和 git diff的运用 git status 记录的是关于仓库文件是否有变更,例如是否被修改,是否被添加到暂村区.至于文件更改了什么内容该命令并不关心: git status -s 输出简短信息: git diff 记录的是文件到底修改了哪些内容,用来作比较用: git diff 比较尚未暂存的文件更新了哪些部分: git diff --cached(1.6.1版本以下)  或  git diff --staged(更高版本) 比较的是暂存区的文件更新了哪些信息: 忽略…
文件状态 你工作目录下的每一个文件只有两种状态:tracked 或 untracked tracked 已跟踪 tracked 的文件是指那些被纳入了版本控制的文件 在上一次快照中有它们的记录,在工作一段时间后, 它们的状态可能是未修改unmodified.已修改modified 或已放入暂存区staged 简单来说,已跟踪 tracked 的文件就是 Git 知道的文件 untracked 工作目录中除 tracked 文件外的其它所有文件都属于 untracked 文件 它们既不存在于上次快…
国庆期间把Atlassian的Git系列教程看完了.边看边翻译了相关文章. 原教程: https://www.atlassian.com/git/tutorials/ 我翻译的: git init git clone git config git add git commit git status git log git checkout git revert git reset git clean git commit --amend git rebase git rebase -i git…
查看远程仓库 如果想查看你已经配置的远程仓库服务器,可以运行 git remote 命令,它会列出你指定的每一个远程服务器的名称 如果是刚 clone 下来的自己的库,能看到 origin,这是 Git 起的默认名字 $ git clone https://github.com/schacon/ticgit Cloning into 'ticgit'... remote: Reusing existing pack: 1857, done. remote: Total 1857 (delta 0…
查看提交历史 在提交了若干更新,又或者克隆了某个项目之后,如何查看提交历史 git log 官方栗子 运行下面的命令获取该项目: git clone https://github.com/scha 运行 git log 命令 可以获取到的信息 不传入任何参数的默认情况下,git log 会按时间先后顺序列出所有的提交,最近的更新排在最上面 会列出每个提交的 SHA-1 校验和.作者的名字和电子邮件地址.提交时间以及提交说明 git log 常见命令行参数 -p.--patch:它会显示每次提交所…
一.版本控制引入 可能我们都会有这样的经历:创建了一个文件,并对它做了多次更改,当我们想回到其中的某一次更改的时候,由于时间太长记不得那次更改的内容,于是我们在每次大的更改的时候,会创建一个文件的副本,然后用副本1.副本2等标记,如下图所示:   现在我们有了版本控制这种工具,它可以详细的记录你每次更改(必须提交),你可以回退到某个版本,甚至比较两个版本的不同. 二.版本控制种类 目前主要有两种版本控制的方式:集中式以及分布式 1.集中式版本控制系统 像SVN.TFS等版本控制工具就属于集中式版…
一.存储方式 如果让我们设计一个版本控制系统,最简单的方式就是每做一次更改就生成一个新的文件. 这样的方式太占用空间,所以传统的版本控制系统都是保存一个文件的某个版本的全部内容以及其他版本相对于这个版本的更改,这样就节省了大量的空间. 不过Git却反其道而行之,采用了类似生成副本的方式保存每一次更改,我们称之为快照. 如果还有疑惑,下面我们会详细介绍这张图代表的意思. 二.存储对象类型 Git中有很多存储对象,这里我们着重讲解其中的三个:Blob(块).Tree(目录树).Commit(提交).…