Git - Git教程 03:版本库的创建 | 添加文件
版本库
1 - 版本库又名仓库,英文名 repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被 Git 管理起来
2 - 每个文件的修改、删除等操作,Git 都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以还原
创建版本库
1 - 选择一个合适的地方,创建一个空目录
1 $ mkdir GitLearning 2 $ pwd 3 /Users/HB-005/Desktop
2 - 进入该目录且把这个目录变成 Git 可以管理的仓库
1 $ cd GitLearning 2 $ git init 3 Initialized empty Git repository in /Users/HB-005/Desktop/GitLearning/.git/
经上述两步,Git 瞬间就把仓库建好了,而且告诉你是一个 empty Git repository。你可以发现当前目录下多了一个. git 目录。什么?没有!那是因为这个目录默认是隐藏的,可以使用以下命令进行偷窥
1 $ ls -a 2 . .. .git
将文件添加到版本库
1 - 以 file_D.txt 文件为例
1 $ git add file_D.txt 2 fatal: pathspec 'file_D.txt' did not match any files
出现 fatal: pathspec 'file_D.txt' did not match any files 错误。那是因为你在该目录中没有 file_D.txt 文件
在该目录下新建 file_D.txt 文件,内容是 It's been a long day without you my friend
现在执行命令 git add file_D.txt
2 - 把文件提交至仓库:"0001G" 里的内容随意填写,仅作为修改标记
1 $ git commit -m "0001G" 2 [master (root-commit) c374398] 0001G 3 1 file changed, 1 insertion(+) 4 create mode 100644 file_D.txt
commit 可以一次提交很多文件,就是说你可以多次 add 不同的文件
1 $ touch file1.txt file2.txt file3.txt 2 $ git add file1.txt file2.txt file3.txt 3 [master bdb46de] 3 files added 4 3 files changed, 0 insertions(+), 0 deletions(-) 5 create mode 100644 file1.txt 6 create mode 100644 file2.txt
3 - git status 命令可以让我们时刻掌握仓库当前的状态
1 $ git status 2 On branch master 3 nothing to commit, working tree clean
4 - 修改 file_D.txt 文件,添加内容 ,And I'll tell you all about it when I see you again. 。运行 git status 命令
1 $ git status 2 On branch master 3 Changes not staged for commit: 4 (use "git add <file>..." to update what will be committed) 5 (use "git checkout -- <file>..." to discard changes in working directory) 6 7 modified: file_D.txt 8 9 no changes added to commit (use "git add" and/or "git commit -a")
上面指令代码会告诉你 file_D.txt 文件被修改过了,但还没有把这个修改准备提交
5 - 要查看所修改的内容,使用 git diff 命令
1 $ git diff 2 diff --git a/file_D.txt b/file_D.txt 3 index 2e39a68..77c189e 100644 4 --- a/file_D.txt 5 +++ b/file_D.txt 6 @@ -1 +1 @@ 7 -It's been a long day without you my friend 8 +It's been a long day without you my friend,And I'll tell you all about it when I see you again.
现在我们提交修改
1 $ git add file_D.txt
在 git commit 之前,我们运行 git status 看看当前仓库的状态
1 $ git status 2 On branch master 3 Changes to be committed: 4 (use "git reset HEAD <file>..." to unstage) 5 6 modified: file_D.txt
git status 告诉我们将要被提交的修改是 file_D.txt 文件,接下来,你就可以放心地提交
1 $ git commit -m "0002G" 2 [master 8731ec5] 0002G 3 1 file changed, 1 insertion(+), 1 deletion(-)
6 - 提交后,我们再用 git status 命令看看仓库的当前状态
1 $ git status 2 On branch master 3 nothing to commit, working tree clean