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