Git是目前世界上最先进的分布式版本控制系统
Git的安装
sudo apt install git
Git工作流程
Git 工作区、暂存区和版本库
- 工作区:就是你在电脑里能看到的目录。
- 暂存区:英文叫stage, 或index。一般存放在 ".git目录下" 下的index文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)。
-
版本库:工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。
Git版本库
- 版本库介绍
版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。 - 版本库创建和初始化
创建仓库目录 - repository
初始化仓库 - git init - 将文件添加到仓库(暂存区,可多次添加)
新建一个readme.md文件
添加文件到仓库 - git add readme.md - 提交文件到仓库(版本库)
git commit -m "提示信息..."
Git Clone
使用 git clone
从现有 Git 仓库中拷贝项目(类似 svn checkout)
git clone <仓库地址> <本地目录名称(无设置则默认为项目同名目录)>
Git Status
查看Git仓库的状态
Git Diff
可查询更改详情信息
Git Reset
用法
-
git reset <file>
从缓存区移除特定文件,但不改变工作目录。它会取消这个文件的缓存,而不覆盖任何更改。 -
git reset
重设缓冲区,匹配最近的一次提交,但工作目录不变。它会取消 所有 文件的缓存,而不会覆盖任何修改,给你了一个重设缓存快照的机会。 -
git reset --hard
重设缓冲区和工作目录,匹配最近的一次提交。除了取消缓存之外,--hard 标记告诉 Git 还要重写所有工作目录中的更改。换句话说:它清除了所有未提交的更改,所以在使用前确定你想扔掉你所有本地的开发。 -
git reset <commit>
将当前分支的末端移到 <commit>,将缓存区重设到这个提交,但不改变工作目录。所有 <commit> 之后的更改会保留在工作目录中,这允许你用更干净、原子性的快照重新提交项目历史。 -
git reset --hard <commit>
将当前分支的末端移到 <commit>,将缓存区和工作目录都重设到这个提交。它不仅清除了未提交的更改,同时还清除了 <commit> 之后的所有提交。
Git Revert
-
git revert
命令用来撤销一个已经提交的快照。但是,它是通过搞清楚如何撤销这个提交引入的更改,然后在最后加上一个撤销了更改的 新 提交,而不是从项目历史中移除这个提交。这避免了Git丢失项目历史,这一点对于你的版本历史和协作的可靠性来说是很重要的。
用法
git revert <commit>
生成一个撤消了 <commit>
引入的修改的新提交,然后应用到当前分支
网友评论