Skip to content

Latest commit

 

History

History
83 lines (62 loc) · 2.5 KB

GitBase.md

File metadata and controls

83 lines (62 loc) · 2.5 KB

Git配置

$ 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

该命令是指将文件在工作区的修改全部撤销,这里有两种情况:

  1. 一种是file自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;
  2. 一种是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