Git 基础
基础
Git 配置
1 | git config --global user.name "Your Name" |
git config 命令的 --global 参数,表明这台机器上的所有 Git 仓库都会使用这个配置,也可以对某个仓库指定不同的用户名和邮箱地址。
检查配置
1 | git config --list |
工作区、暂存区和版本库的区别
- 工作区:在电脑里能看到的目录;
- 版本库:在工作区有一个隐藏目录
.git,是 Git 的版本库。
Git 的版本库中存了很多东西,其中最重要的就是称为 stage(或者称为 index)的暂存区,还有 Git 自动创建的 master,以及指向 master 的指针 HEAD。
进一步解释一些命令:
git add实际上是把文件添加到暂存区git commit实际上是把暂存区的所有内容提交到当前分支
撤销修改
丢弃工作区的修改
1 | $ git checkout -- <file> |
该命令是指将文件在工作区的修改全部撤销,这里有两种情况:
- 一种是 file 自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;
- 一种是 file 已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。
总之,就是让这个文件回到最近一次 git commit 前暂存区的状态。
丢弃暂存区的修改
1 | $ git reset HEAD <file> |
该命令将已经 add 到暂存区的修改撤销掉(unstage),重新放回工作区
克隆仓库
1 | git clone https://github.com/user/repositoryname.git |
删除文件
1 | git rm <file> |
git rm <file> 相当于执行
1 | rm <file> |
删除文件解释
Q:比如执行了 rm text.txt 误删了怎么恢复?
A:执行 git checkout -- text.txt 把暂存区的东西重新写回工作区就行了
Q:如果执行了 git rm text.txt 我们会发现暂存区的 text.txt 也删除了,怎么恢复?
A:先撤销暂存区修改,重新放回暂存区,然后再从暂存区写回到工作区
1 | git reset HEAD text.txt |
Q:如果真的想从版本库里面删除文件怎么做?
A:执行 git commit -m "delete text.txt",提交后最新的版本库将不包含这个文件
查看本次修改内容
git show
本博客所有文章除特别声明外,均采用 CC-BY-SA-3.0 许可协议。转载请注明来源 张小剩的博客!
