添加文件到仓库 git add
$ git add *
提交文件到仓库 git commit
$ git commit -m "Here is the message"
commit
命令可以提交多个之前 add 的文件
$ git add file1.txt
$ git add file2.txt file3.txt
$ git commit -m "add 3 files."
查看当前仓库状态 git status
没有需要提交的修改
$ git status
On branch master
nothing to commit, working tree clean
文件有修改
$ 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.txt
no changes added to commit (use "git add" and/or "git commit -a")
查看差异 git diff
$ git diff readme.txt
diff --git a/readme.txt b/readme.txt
index 46d49bf..9247db6 100644
--- a/readme.txt
+++ b/readme.txt
@@ -1,2 +1,2 @@
-Git is a version control system.
+Git is a distributed version control system.
Git is free software.
查看日志 git log
详细
git log
查看提交日志git log --oneline
精简模式显示git log --pretty=oneline
精简模式并显示完整版本号git log --graph
图形模式显示git log --stat
显示文件更改列表git log --author=_name
根据作者筛选git log -p file_name
查看某个文件的详细修改git log -L start,end:file_name
查看文件某行范围内的修改记录git log --stat commit_id
根本版本号查看提交修改列表
版本退回 git reset
详细
在 Git 中,用 HEAD 表示当前版本,也就是最新的提交版本
上一个版本就是 HEAD^
上上一个版本就是 HEAD^^
当然往上 n 个版本写 n 个^比较容易数不过来,所以写成 HEAD~n
~n 相当于连续的 n 个”^”
git reset --hard HEAD^
$ git reset --hard HEAD^
HEAD is now at e475afc add distributed
git reset --hard commit_id
也可以直接切换到某个版本,版本号可以不写全,前 4 位就可以了,Git 会自动去找,也可以 Tab 补全
查看操作日志 git reflog
$ git reflog
77ac955 (HEAD -> master) HEAD@{0}: reset: moving to HEAD~2
2c8fcc8 (origin/master) HEAD@{1}: commit: wrote a readme file
87c9d12 HEAD@{2}: commit: add distributed
77ac955 (HEAD -> master) HEAD@{3}: commit (initial): wrote a readme file