git 现在的火爆程度非同一般,它被广泛地用在大型开源项目,团队开发,以及独立开发者,甚至学生之中。
初学者非常容易被各种命令,参数吓哭。但实际上刚上手你并不需要了解所有命令的用途。你可以从掌握一些简单,强大的命令开始,逐步去学习。(这就是这篇文章要讲的)。好了,上来!
# 基本了解
git命令是一些命令行工具的集合,它可以用来跟踪,记录文件的变动。比如你可以进行保存,比对,分析,合并等等。这个过程被称之为版本控制。已经有一系列的版本控制系统,比如SVN, Mercurial, Perforce, CVS, Bitkeepe等等。
Git是分布式的,这意味着它并不依赖于中心服务器,任何一台机器都可以有一个本地版本的控制系统,我们称之为仓库。如果是多人协作的话,你还需要一个线上仓库,用来同步信息。这就是GitHub, BitBucket的工作。
1. 安装Git
安装git非常直接:
Linux - 打开控制台,然后通过包管理安装,在Ubuntu上命令是:
`sudo apt-get install git-all`
Windows - 推荐使用[git for windows](https://git-for-windows.github.io/),它包括了图形工具以及命令行模拟器。
OS X - 最简单的方式是使用homebrew安装,命令行执行
`brew install git`
如果你是在用图形工具的话,那么推荐你使用[Github desktop](https://desktop.github.com/),[Sourcetree](https://www.atlassian.com/software/sourcetree)。但我还是推荐你使用命令行,下面的内容就都是命令行的。
2. 配置Git
安装完git,首要任务是配置我们的信息,最重要的是用户名及邮箱,打开终端,执行以下命令。
~~~
$ git config --global user.name "My Name"
$ git config --global user.email myEmail@example.com
~~~
配置好这两项,用户就能知道谁做了什么,并且一切都更有组织性了不是吗?
3. 创建一个新仓库 - git init
git 会把所有文件以及历史记录保存在你的项目中,创建一个新的仓库,首先要去到项目路径,执行 git init。然后git会创建一个隐藏的文件夹.git,所有的信息都储存在其中。
在桌面创建一个联系文件夹 git_exercise, 打开终端:
~~~
$ cd Desktop/git_exercise/
$ git init
~~~
OK,现在项目还什么都没有,新建一个 hello.txt 文件试试~
4. 检查状态 - git status
git status 是另一个非常重要的命令,它会告诉我们创库的当前状态:是否为最新代码,有什么更新等等执行
git status:
~~~
$ git status
On branch master
Initial commit
Untracked files:
(use "git add ..." to include in what will be committed)
hello.txt
~~~
git 告诉我们,hello.txt尚未跟踪,这是因为这个文件是新的,git不知道是应该跟踪它的变动呢,还是直接忽略不管呢。为了跟踪我们的新文件,我们需要暂存它。
5. 暂存 - git add
git 有个概念叫 暂存区,你可以把它看成一块空白帆布,包裹着所有你可能会提交的变动。它一开始为空,你可以通过 git add 命令添加内容,并使用 git commit 提交。
这个例子中只有一个文件:
`$ git add hello.txt`
如果需要提交目录下的所有内容,可以这样:
`$ git add -A`