一些简单的概念和命令
复习总结git的使用。
暂存区和工作区
工作区中有一个隐藏目录.git
,是Git的版本库
Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD。
简单理解可以知道,Git的管理分为:
- 工作区
- 版本库
- 暂存区Stage
- 暂存区分支Master(仓库)
关于提交、回退和撤销修改
命令 | 作用 |
---|---|
git add | 将文件从工作区>>>>暂存区 |
git commit | 将文件从暂存区>>>>仓库 |
git diff | 查看工作区和暂存区的差异 |
git diff --cached | 查看暂存区和仓库的差异 |
git diff HEAD | 查看工作区和仓库的差异 |
git checkout -- file | 撤销工作区修改(个人认为就是回退至上一版本),即把暂存区最新版本转移到工作区,如果暂存区里没有则是将仓库里的最新版本转移到工作区(-- 很重要,没有则变成了“切换到另一个分支”的命令) |
git reset HEAD file | 把暂存区的修改撤销掉,git reset 就是进行回退的命令,HEAD是回退到当前版本,HEAD^是上一版本。当执行git reset HEAD file 命令时,暂存区回退到上一版本。 |
git reset --hard HEAD | 把仓库最新版本转移到暂存区和工作区 |
git reset commit_id | 将仓库回退到某一个版本,并且暂存区此时和仓库相同 |
关于删除
- 本地删除(即删除工作区中的文件):
rm <file>
- 删除暂存区里的文件:
git rm
- 删除仓库里的文件:在删除暂存区之后再重新
git commit
推送和拉取
git push
第一次提交:
git push -u origin master
加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。
本地做了提交后,可通过命令将本地的master分支推送至GitHub
git push origin master
origin是远程库的名字,这是在关联远程库时决定的。关联远程库的命令为:
git remote add origin git@server-name:path/repo-name.git
根据名字删除远程库:
git remote rm origin