Git初始化之创建版本库及第一次提交

jopen 9年前

你当前使用的Git是哪个版本?可以通过如下的命令可以知道:

$ git --version  git version 1.9.1

在开始Git之旅之前,我们需要设置一下Git的配置变量,这是一次性的工作。即这些设置会在全局文件用户主目录下的.gitconfig)或系统文件(如 /etc/gitconfig)中做永久的记录。

1. 告诉Git当前用户的姓名和邮件地址,配置的用户名和邮件地址将在版本库提交时用到。命令如下:

$ git config --global user.name fuhd  $ git config --global user.email 001fhd@163.com

注:该命令会把user.name,user.email信息写入到用户主目录下的.gitconfig文件中。

2. 设置一些Git别名,以便可以使用更为简洁的子命令

例如:输入git ci即相当于git commit,输入git st即相当于git status。如果拥有系统管理员权限(例如通过执行sudo命令获取管理员权限),希望注册的命令别名能够被所有用户使用,可以执行如下命令:

$ sudo git config --system alias.st status  $ sudo git config --system alias.ci commit  $ sudo git config --system alias.co checkout  $ sudo git config --system alias.br branch

注:这些命令会把信息写入 /etc/gitconfig文件中。另外,也可以运行下面的命令,只在本用户的全局配置中添加Git命令别名:

$ git config --global alias.st status  $ git config --global alias.ci commit  $ git config --global alias.co checkout  $ git config --global alias.br branch

注:该命令会把信息写入到用户主目录下的.gitconfig文件中。

3. 在Git命令输出中开启颜色显示

$ git config --global color.ui true

注:该命令会把信息写入到用户主目录下的.gitconfig文件中。

Git的所有操作,包括创建版本库等管理操作用git一个命令即可完成,不像其他版本控制系统(如Subversion),与管理相关的操作要使用另外的命令(如svnadmin)。创建Git版本库,可以直接进入到工作目录中,通过执行git init命令完成版本库的初始化。

下面就从一个空目录开始初始化版本库,为了方便说明,我们使用名为 /path/to/my/workspace的目录作为个人的共作区根目录,可以在磁盘中创建目录并设置正确的权限。 首先,建立一个新的工作目录,进入该目录后,执行 git init创建版本库:

$ cd /path/to/my/workspace  $ mkdir demo  $ cd demo  $ git init  初始化空的 Git 版本库于 /path/to/my/workspace/demo/.git/

实际上,如果Git的版本是1.6.5或更新的版本,可以在 git init 命令的后面直接输入目录名称,自动完成目录的创建:

$ cd /path/to/my/workspace  $ git init demo  初始化空的 Git 版本库于 /path/to/my/workspace/demo/.git/

从上面版本库初始化后的输出中可以看到,git init命令在工作区创建了隐藏目录 .git。这个隐藏的 .git 目录就是Git版本库(又叫仓库repository)。.git版本库所在的目录为 /path/to/my/workspace/demo,它被称为工作区,目前工作区除了包含一个隐藏的.git版本库目录外空无一物。

下面为工作区中加点料:在工作区中创建一个文件welcome.txt,内容就是一行“Hello.”。

$ echo "Hello." > welcome.txt

为了将这个新建立的文件添加到版本库,需要执行下面的命令:

$ git add welcome.txt

注意,到这里还没有完。Git和大部分其他版本控制系统一样,都需要再执行一次提交操作,对于Git来说就是执行 git commit 命令完成提交。在提交过程中需要输入提交说明,这个要求对于Git来说是强制性的,不像其他很多版本控制系统(如CVS和Subversion)那样接受空白的提交说明。当Git提交时,如果不在命令行提供提交说明(使用 -m 参数),Git会自动打开一个编辑器,要求你在其中输入提交说明,输入完毕后保存并退出。

下面进行提交,为了说明方便,使用 -m 参数直接给出了提交说明。

$ git ci -m "initialized."  [master (根提交) 57ceaad] initlalized.   1 file changed, 1 insertion(+)   create mode 100644 welcome.txt

从上面的命令及输出中可以看出:

  • 命令 git ci 实际上相当于 git commit,这是因为之前为Git设置了命令别名。

  • 通过 -m 参数设置提交说明为:"initialized."。

  • 从命令输出的第一行可以看出,此次提交是提交在名为master的分支上,且是该分支的第一个提交(根提交),提交ID为57ceaad。

  • 从命令输出的第二行可以看出,此次提交修改了一个文件,包含一行的插入。

  • 从命令输出的第三行可以看出,此次提交创建了新文件welcome.txt。

     

来自:http://my.oschina.net/fhd/blog/355012