Fork me on GitHub

Git 配置好了,来 clone 个或者新建个仓库来试试,

$ git clone git@github.com:git/git.git

把 Git 的源码克隆下来,克隆会自动创建本地仓库,并创建本地 master 跟踪到远程仓库的 master 分支,一切都井然有序(这个仓库有点大,天朝的环境需要耐心)

$ git init
Initialized empty Git repository in c:/Users/X-k_/Desktop/hk/.git/

X-k_@HK ~/Desktop/hk (master)
$ ls -a
.  ..  .git

在当前文件夹下新建一个本地仓库
当前文件夹下出现个 .git 的隐藏文件夹,记录当前文件夹下的所有操作,任何文件的修改,删除,增加,都会记录在这个文件夹下。当然,你删掉这个文件夹,本地仓库也就没有了。

e.g
新建一个文件 readme.md ,然后用 git status 来查看状态

$ git status
On branch master
Initial commit
Untracked files:
  (use "git add <file>..." to include in what will be committed)
        readme.md
nothing added to commit but untracked files present (use "git add" to track)

提示信息新增一个未跟踪的文件 readme.md ,并提示用 git add 添加到跟踪,那么试下这个命令

$ git add readme.md

add 后面跟需要添加的文件名,如果想添加全部文件用 . 代替。

$ git add .

再来看下状态:

$ git status
On branch master
Initial commit
Changes to be committed:
  (use "git rm --cached <file>..." to unstage)
        new file:   readme.md

提示跟踪一个文件,并可以提交(括号中提示取消跟踪命令,后面再谈这个后悔药),跟踪的文件可以暂时保存状态,只有提交后才能被记录到仓库中,不然这些更改可以撤消

$ git commit

是提交命令,不过最好用选项 -m 加上个简短的提交信息

$ git commit -m "first commit"
[master (root-commit) 2e07671] first commit
 1 file changed, 1 insertion(+)
 create mode 100644 readme.md

查看下状态

$ git status
On branch master
nothing to commit, working directory clean

现在是干净的工作区,工作区就是指当前目前,修改的文件都被提交后,工作区和仓库的记录相同,即‘干净’

那么现在在 readme.md 中写一行 'This is a new repository'
查看下状态

$ git status
On branch master
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)
        modified:   readme.md
no changes added to commit (use "git add" and/or "git commit -a")

提示三种操作

  • 添加 和上面的一样
  • 移除 另一个后悔药
  • 提交 加一个选项 -a 快速提交
$ git commit -a -m "update readme.md"
[master 9201c98] update readme.md
 1 file changed, 1 insertion(+), 1 deletion(-)

快速提交下,然后看下提交历史

$ git log
commit 9201c98625b8c161fa22137e6cb7240c6585a0f0
Author: H•K <H-k_@outlook.com>
Date:   Tue Sep 1 15:54:23 2015 +0800
    update readme.md
    
commit 2e07671a17caeec46fbcc4ff1a70b4414cd329fd
Author: H•K <H-k_@outlook.com>
Date:   Tue Sep 1 15:37:10 2015 +0800
    first commit

git log 输出提交日志
每个都有四行信息,

  1. 提交的哈希值,唯一
  2. 提交的作者,即 config 的配置
  3. 提交创建的时间
  4. 提交时附加的信息

git log 有很多的选项可选,可以自定义显示的信息多,比如

  • --stat 可以显示修改的文件数量和每个文件修改的行数
  • -p 显示修改的详细细节
  • -N N是数字,显示N个提交历史

更多选项参考 Git 基础 - 查看提交历史

posted on 2015-09-01 16:28  H·K  阅读(197)  评论(0编辑  收藏  举报