1. 特点:
分布式版本控制系统
Git 跟踪并管理的是修改,而非文件。
免费
最快、最简单也最流行
2. Git 安装完成后,需要设置用户名 -- 方法也是用 git 命令进行设置
git config --global user.name "Your Name"
git config --global user.email "email@example.com"
3. 命令:
-
git init: 新建仓库,这个命令把当前目录变成 Git 可以管理的仓库
-
git add: 添加文件
-
git commit: 提交到仓库
-
git status: 显示仓库当前的最新状态
-
git diff: 当前状态和最后一次 commit 中内容的区别
git diff filename: 比较工作区和暂存区(工作区、暂存区的理解)
git diff HEAD -- filename:比较工作区和版本库的最新版本
如果git diff输出空白就说明工作区是干净的(干净应该就是指与比较的区相同) -
git log: 显示从最近到最远的提交日志
如果嫌输出信息太多,看得眼花缭乱的,可以试试加上 --pretty=oneline 参数:git log --pretty=oneline -
git reset --hard HEAD^: 回退一个版本
-
git reset --hard “commitID(也可以部分ID)” 回到 commitID 指定的提交版本,可以顺着时间线往前回到指定的版本。
- 在 Git 中,用 HEAD 表示当前版本,也就是最新的提交 1094adb...(注意我的提交 ID 和你的肯定不一样),上一个版本就是 HEAD,上上一个版本就是HEAD,当然往上100个版本写100个比较容易数不过来,所以写成HEAD~100。
- 如果执行了 git add 命令,但是想要撤销 add 的内容,即修改只是添加到了暂存区,还没有提交。可以执行:get reset -- hard HEAD。 因为 git reset 命令既可以回退版本,也可以把暂存区的修改回退到工作区, 并且HEAD表示最新的版本,而HEAD^才表示前一个版本。
-
git reflog: git 用来记录你的每一次命令
-
git checkout -- filename: 把文件在工作区的修改全部撤销, git add 之后就不会撤销了,即:只是让这个文件回到最近一次 git commit 或 git add 时的状态。
- 命令中的 -- 很重要,没有 --,就变成了“切换到另一个分支”的命令
- 如果执行了 git add 命令,但是想要撤销 add 的内容,即修改只是添加到了暂存区,还没有提交。可以执行:get reset -- hard HEAD。 因为 git reset 命令既可以回退版本,也可以把暂存区的修改回退到工作区, 并且 HEAD 表示最新的版本,而 HEAD^ 才表示前一个版本。
- 如果在文件区删错了,也可以用 git checkout 把文件恢复回来。git checkout 其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”。
-
git rm: 删除文件
网友评论