Git基础01 - higoge/blog GitHub Wiki

0. 为什么是Git

简单一句话:Git简单,上手快,支持本地无网络提交,多人协作方便。
缺点:要精通,需要一定的过程。推荐使用命令行模式,对于没有看惯了GUI的人,不习惯。
Git入门教程很多,最简单的教程是《git - 简明指南》,稍微详细点的是廖雪峰的《Git教程》。
Git最全的教程是《Pro Git》(有中文版本)。以上三个教程,都可以通过Google搜索到。
Git基础系列不准备详细的展开,因为跟上述教程的内容没有太大区别。只是把最常用的基础命令介绍出来。

1. Git的安装

在《git - 简明指南》上提供了三个系统的下载连接。我个人推荐在Windows上使用Cygwin的Git。

2. 创建

• 初始化仓库

$ mkdir gittest # 创建文件夹
$ cd gittest/ #切换到到文件夹
$ git init # 初始化仓库

初始化空的 Git 版本库于/home/Jeremy/gittest/.git/

$ git init --bare # 初始化裸仓库

初始化空的 Git 版本库于 /home/Jeremy/gittest/
• 克隆仓库

$ git clone /remote/url/of/repo.git local-repo

3. 配置

加入--global参数将作为全局配置,否则,所有配置只针对本仓库有效。

$ git config --global user.name learnit #设置用户名
$ git config --global user.email [email protected] # 设置用户邮箱

以上两条指令若不执行,则无法commit。

$ git config --global core.autocrlf false # 取消git根据操作系统进行crlf的转换

4. 添加和提交

$ git add 01.txt # 将01.txt添加到暂存区
$ git commit -m "添加01.txt文档" # 将暂存区的内容提交到仓库,并添加日志
[master(根提交) 49805b0] 添加01.txt文档
 1 file changed, 1 insertion(+)
 create mode 100644 01.txt
$ git commit -a -m [msg] # 提交所有已跟踪的文件的修改

只要被add过的文件均为跟踪文件,新增的文件没有被跟踪,需要手动add。

$ git commit # 如果不输入-m [msg],则调出COMMIT_EDITMSG,编写详细的提交信息
$ git commit --amend # 修改最后一次提交

如果是已经push的commit,请不要amend。

5. 工作区与暂存区

图片来自廖雪峰的官方网站
工作区就是我们工作的文件夹。暂存区叫stage或者index。
git add就是把文件修改添加到暂存区。
git commit就是把暂存区的所有内容提交到当前分支。