-
git init——初始化仓库
要使用Git进行版本管理,必须先初始化仓库。
如果初始化成功,执行了git init命令的目录下就会生成.git目录。这个.git目录里存储着管理当前目录内容所需的仓库数据。
在Git 中,我们将这个目录的内容称为“附属于该仓库的工作树”。文件的编辑等操作在工作树中进行,然后记录到仓库中,以此管理文件的历史快照。如果想将文件恢复到原先的状态,可以从仓库中调取之前的快照,在工作树中打开。开发者可以通过这种方式获取以往的文件。
-
git status——查看仓库的状态
commit是指“记录工作树中所有文件的当前状态”
建立README.md文件作为管理对象,为第一次提交做前期准备。
可以看到在Untracked files 中显示了README.md 文件。类似地,只要对Git 的工作树或仓库进行操作,git status命令的显示结果就会发生变化。
-
git add——向暂存区中添加文件
如果只是用Git 仓库的工作树创建了文件,那么该文件并不会被记入Git 仓库的版本管理对象当中。因此我们用git status命令查看
README.md 文件时,它会显示在Untracked files 里。要想让文件成为Git 仓库的管理对象,就需要用git add命令将其加入暂存区(Stage 或者Index)中。暂存区是提交之前的一个临时区域。
将README.md 文件加入暂存区后,git status命令的显示结果发生了变化。可以看到,README.md 文件显示在Changes to be
committed 中了。
-
git commit——保存仓库的历史记录
git commit命令可以将当前暂存区中的文件实际保存到仓库的历史记录中。
- 记述一行提交信息:git commit -m "First commit",其中-m参数后的“First commit”称作提交信息。
- 记述详细提交信息:git commit
- 中止提交:如果在编辑器启动后想中止提交,请将提交信息留空并直接关闭编辑器,随后提交就会被中止。
-
git log——查看提交日志
commit 栏旁边显示的“0c8ff……”是指向这个提交的哈希值。Git 的其他命令中,在指向提交时会用到这个哈希值。
- 只显示提交信息的第一行:git log --pretty=short
- 只显示指定目录、文件的日志:git log命令后加上目录名,只会显示该目录下的日志。如果加的是文件名,就会只显示与该文件相关的日志。
- 显示文件的改动:git log -p/git log -p README.md
-
git diff——查看更改前后的差别
执行git diff命令,查看当前工作树与暂存区的差别。
“+”号标出的是新添加的行,被删除的行则用“-”号标出。
- 查看工作树和最新提交的差别:git diff HEAD
在执行git commit命令之前先执行git diff HEAD命令,查看本次提交与上次提交之间有什么差别,等确认完毕后再进行提交。这里的HEAD 是指向当前分支中最新一次提交的指针。比较后运行git commit命令。最后查看提交日志,确认提交是否成功。
摘自《Github入门与实践》