GIT基本用法

Posted by 许大仙 on July 24, 2018

创建版本库

版本库即仓库,可简单理解为目录,这个目录由GIT管理,GIT会记录追踪该目录下的文件修改、删除甚至可以在未来还原。

//在GIT Bash下
$ mkdir learngit //创建版本库
$ cd learngit    
$ pwd
/Users/michael/learngit

注意:尽量不使用带有中文的路径

将创建的版本库变为受GIT管理的仓库

通过git init命令把这个目录变成Git可以管理的仓库

$ git init//在pwd当前路径为要设置的仓库路径
Initialized empty Git repository in /Users/……/.git/
//会产生如上提示,告知GIT管理库建立完成,并且目前是空仓库

注意:这是在磁盘管理器可以查看到当前目录下出现了.git目录[默认隐藏,可使用ls -ah查看],这个目录是用于跟踪管理版本库的。

版本控制系统

对于建立的仓库的追踪,是由GIT版本控制系统来实现的。但是版本控制系统只能跟踪文本文件的改动[比如TXT,网页,程序代码等],跟踪可以详细到第几行删添改了什么内容。但是对于视音频、图像这些二进制文件,只能追踪简单的文件大小变化,具体改动了什么,无法详知。

注意:

  • Microsoft的Word格式是二进制格式,因此,版本控制系统是没法跟踪Word文件的改动的
  • 因为文本是有编码的,比如中文有常用的GBK编码,日文有Shift_JIS编码,如果没有历史遗留问题,强烈建议所有语言使用同一种编码,比如标准的UTF-8编码[既没有冲突,又被所有平台所支持。]

  • 不要使用Windows自带的记事本编辑任何文本文件。原因是Microsoft开发记事本的团队使用了一个非常弱智的行为来保存UTF-8编码的文件,他们自作聪明地在每个文件开头添加了0xefbbbf(十六进制)的字符,你会遇到很多不可思议的问题,比如,网页第一行可能会显示一个“?”,明明正确的程序一编译就报语法错误,等等,都是由记事本的弱智行为带来的。[建议用Notepad++代替记事本,并设置默认编码为UTF-8 without BOM]

对你建造的GIT仓库操作

编写一个readme.txt文件,内容如下:

Now start operation. 
Git is free software.

一定要放在建立的GIT仓库目录下(子目录也行),因为这是一个Git仓库,放到其他地方Git找不到这个文件。

打开GIT BASH,分两步添加文件:

  1. 用命令git add告诉Git,把文件添加到仓库:

    $ git add readme.txt

执行上面的命令,没有任何显示,说明添加成功。

  1. 用命令git commit告诉Git,把文件提交到仓库:

    $ git commit -m “wrote a readme file” [master (root-commit) eaadf4e] wrote a readme file 1 file changed, 2 insertions(+) create mode 100644 readme.txt

-m后面输入的是本次提交的说明,可以输入任意内容,当然最好是有意义的,这样你就能从历史记录里方便地找到改动记录。git commit命令执行成功后会告诉你,1 file changed:1个文件被改动(我们新添加的readme.txt文件);2 insertions:插入了两行内容(readme.txt有两行内容)。

注意:多次add不同的文件,只需一次commit,比如:

$ git add file1.txt
$ git add file2.txt file3.txt
$ git commit -m "add 3 files."

小结

  1. 初始化一个Git仓库,使用git init命令。

  2. 添加文件到Git仓库,分两步:

    • 使用命令git add ,注意,可反复多次使用,添加多个文件;

    • 使用命令git commit -m ,完成。