@bintou
2014-06-04T12:15:03.000000Z
字数 1762
阅读 2593
学习笔记
本文旨在成为最简单的Git入门。贡献归于Pro Git。
控制、管理软件开发中程序版本变化的软件。方便团队协同工作。
目前我们最需要使用的是分布式版本控制。
Git是Linux社区在2005年开发的一套开源的分布式版权控制软件,具有简单、高效、功能齐全等特性。可应付各种复杂的项目开发需求。
在 Ubuntu 这类 Debian 体系的系统上,可以用 apt-get 安装:
$ apt-get install git
估计这里要在命令前加sudo
。其他系统也相当容易。
配置的是你个人的用户名称和电子邮件地址。这两条配置很重要,每次 Git 提交时都会引用这两条信息,说明是谁提交了更新:
$ git config --global user.name "Alice Bob"
$ git config --global user.email alice@example.com
也许只有用户信息设置是最致命的,其他的,慢慢学习了之后再配置吧。可用git config --list
命令查看配置信息。
将介绍几个最基本的,也是最常用的 Git
命令,以后绝大多数时间里用到的也就是这几个命令。
有两种方式:创建与克隆。
$ git init
如果当前目录下有几个文件想要纳入版本控制,需要先用git add
命令告诉 Git 开始对这些文件进行跟踪,然后提交:
$ git add *.c
$ git add README
$ git commit -m 'initial project version'
2.克隆
所谓克隆,即把某项目的 Git 仓库复制一份出来。比如,要克隆 Gnu PG的 Git 代码仓库 gnupg,可以用下面的命令:
$ git clone git://git.gnupg.org/gnupg.git
这会在当前目录下创建一个名为gnupg的目录,其中包含一个 .git 的目录,用于保存下载下来的所有版本记录,然后从中取出最新版本的文件拷贝。
工作目录下面的所有文件都不外乎这两种状态:已跟踪或未跟踪。未跟踪文件即不纳入版本管理的文件。已跟踪文件是被纳入版本控制管理的文件,它们的状态初始是未更新,经过修改之后变成已修改,然后被放入暂存区(状态是已暂存),最后提交所有暂存文件到Git仓库,文件状态又变成未更新。如此不断反复:
未更新--->已修改--->已暂存--->未更新
用git status
命令可查看出文件当前状态,比如:
$ git status
On branch master
nothing to commit, working directory clean
如果创建一个新文件 README,保存退出后运行git status
会看到该文件出现在未跟踪文件列表中。
使用命令 git add
开始跟踪一个新文件。所以,要跟踪 README 文件,运行:
$ git add README
要暂存更新过的文件,需要运行git add
命令(功能还挺复杂的)。比如,你修改了一个文件叫something.c,运行git add something.c
就可以把这个文件转为暂存状态。然后你还可以继续修改。此时如果你需要再次运行git add something.c
命令把文件重新暂存起来。
把暂存的文件提交更新,运行命令:
$ git commit
在此之前,请一定要确认还有什么修改过的或新建的文件还没有git add
过。
只要在提交的时候,给git commit
加上 -a
选项,Git 就会自动把所有已经跟踪过的文件暂存起来一并提交,从而跳过git add
步骤。(提问:哪为何还要git add
命令?)
想回顾下提交历史,可以使用 git log
命令查看。
自此你已经学习了最最基本的Git功能,知道如何创建、克隆文件仓库,知道如何暂存、更新。还有很多复杂的功能需要进一步学习,我不会告诉你我还不懂的,不过,我还是要用以下命令撤销我说的这句话:$ git commit --amend