创建版本库
创建目录mygit
$ mkdir mygit
进入mygit
$ cd mygit
仓库初始化
$ git init
Windows 系统下,通过Git Bash 操作如下:
Mac 下,通过 Terminal 操作如下:
当执行完git init
命令后,可以看到控制台多出了(master)
的标识,
它表示当前是在master分支,这也是 Git 为我们创建的默认分支(后面会详细介绍 Git 分支)。
使用ls -al
命令查看git init
命令为我们生成了哪些隐藏文件
$ ls -al
可以看到,mygit 目录下多出了.git 目录,这个子目录包含初始化的 Git 仓库所有必须的文件,
比如有我们在上一篇文章中介绍的关于git config --local配置方式中提到的config文件。
一般我们不会直接修改这个文件,而是通过Git 提供的命令去操作。
查看工作目录状态
$ git status
git status
命令将会成为以后经常会使用的命令,用来查看工作目录文件的状态,以便决定下一步的操作。
现在我们可以创建一个文件,然后使用git add
命令来实现对文件对追踪。
$ touch hello.txt
编辑文件,添加如下内容
vi hello.txt
hello Git
查看工作目录状态
git status
在状态报告中可以看到,当前在 master 分支,hello.txt 文件未被跟踪,
我们可以使用 git add
命令来实现对文件的跟踪。
开始跟踪hello.txt文件
$ git add hello.txt
控制台没有任何信息输出(Linux/Unix系统的设计思想:没有消息就是最好的消息)
也可以使用git add .
命令对当前目录下所有文件进行跟踪。
查看状态
$ git status
可以看到,hello.txt文件已被跟踪,并处于暂存状态,只要在Changes to be committed:
这行下面的,就说明是已暂存状态。
对于已暂存的文件,我们可以将hello.txt文件从暂存区回退到工作区,也可以提交hello.txt文件。
这里我们先演示从暂存区回退到工作区
$ git rm --cached hello.txt
查看状态,发现和刚创建完文件时一样。
接下来,我们重新将hello.txt 文件添加到暂存区
$ git add hello.txt
提交到版本库
$ git commit
输入git commit
直接回车,默认会调用本机文本编辑器,需要输入提交信息,我们输入commit hello.txt信息,保存,关闭文件。
Windows 系统下,通过Git Bash 操作如下:
Mac 下,通过 Terminal 操作如下:
此时,hello.txt文件已成功提交,可以看到如下信息:
一般情况下,我们输入的提交信息都不会特别多,这时我们可以使用 git commit -m "提交信息"
。
查看工作区状态
$ git status
On branch master
nothing to commit, working tree clean
说明现在的工作目录很干净。换句话说,就是当前目录下没有出现任何未跟踪状态的新文件,
并且所有已跟踪文件在上次提交后都没有被修改过,否则Git 会在这里列出来。
查看提交日志
$ git log
默认不加任何参数的话,git log
会按提交时间列出所有的更新,最近的更新排在最上面。
git log 命令会列出每个提交的SHA-1 校验和、作者的名字和电子邮件地址、提交时间以及提交说明。
暂存修改的文件
修改hello.txt 文件
$ vi hello.txt
内容如下:
hello Git
hello Java
出现在Changes not staged for commit
这行下面,说明修改了已跟踪的文件,但还没有放到暂存区。
要暂存这次更新,需要运行git add
命令。或者使用git checkout
命令将工作区的文件撤销修改。
git add
是个多功能的命令:
- 用于开始跟踪新文件;
- 把已跟踪的文件放到暂存区;
- 用于把有冲突的文件标记为已解决状态(这个后面会用到)。
我们先演示下使用git checkout
命令撤销修改
git checkout -- hello.txt
可以看到hello.txt文件中添加的一行文本(hello Java)被撤销。
我们按照上面的方式再修改hello.txt文件,演示将修改添加到暂存取的功能
运行git add
命令将已修改的hello.txt 文件放到暂存区
$ git add hello.txt
通过git status
可以看到hello.txt文件的修改已暂存。
「更多精彩内容请关注公众号geekymv,喜欢请分享给更多的朋友哦」