一些git常用的命令,以下都是我作为一个初学者的个人理解。
git init
将当前文件夹(之后将这个文件夹称为工作目录)创建为一个git仓库,创建之后就会在当前目录生成一个.git的文件夹。


git status
查看工作目录中的修改。还未add到暂存区的为红色,已经add了的为绿色。
新建一个文本文件1.txt,git status 显示为红色,说明还未提交到暂存区。

git add
将所做修改添加到暂存区。git add .为添加所有,git add <文件名> 为添加单个文件。文件名>

git commit
将暂存区的文件添加到git仓库(本地)。git commit -m “提交说明”。
在commit之后,本地git仓库就会与工作目录同步,这时git status就没有任何变化。

git diff
查看某个文件在暂存区与工作目录的区别(查看修改)。git diff <文件名>文件名>
在1.txt中添加内容:123123 。已经add到暂存区的文件则无法查看到修改(因为该文件已经和暂存区相同)。

git checkout
与git add 相反,将暂存区的内容同步到工作目录。
之前在1.txt中添加了内容,但还未添加进暂存区(这时暂存区中的该文件还是为空)。这时 git checkout <1.txt> (git checkout . 为全部同步) 会将暂存区的内容同步到工作目录(即该文件内容重新变为空)。

git log
查看提交日志。git log 查看全部,git log -数字 查看指定条数(如git log -2,即查看两条从新到旧)。
在1.txt中添加内容:123123 。add 再commit添加到git库(提交说明为123123)。
将1.txt内容修改为:456465 。也添加到git库(提交说明为456456)。
将1.txt内容修改为:789789 。也添加到git库(提交说明为789789)。
查看提交日志git log。

git reset
将工作目录回退到某个提交,该提交之后的提交都会消失。
git reset –soft

此时使用reset再checkout,即可将该暂存区的内容同步回1.txt(即恢复到123123)。

在使用了reset后,之前提交的456456和789789两次提交都已经消失。

git reset

这时直接git checkout . 即可将该文件内容恢复到该次提交(即恢复到123123)。

git reset –hard
