Git基础
Git基础
Git介绍
此处已省略
Git的三种状态
Git的文件有三种状态: 已提交(committed)、已修改(modified) 和 已暂存(staged)
已修改表示修改了文件,但还没保存到数据库中。
已暂存表示对一个已修改文件的当前版本做了标记,使之包含在下次提交的快照中。
已提交表示数据已经安全的保存在本地数据库中。
这会让我们的Git
项目拥有三个阶段:工作区、暂存区以及Git
目录。
工作区是对项目的某个版本独立提取出来的内容。这些从Git
仓库的压缩数据库中提取出来的文件,放在磁盘上供你使用或修改。
暂存区是一个文件,保存了下次将要提交的文件列表信息,一般在Git
仓库目录中。按照Git
的术语叫做“索 引”,不过一般说法还是叫“暂存区”。
Git
仓库目录是 Git
用来保存项目的元数据和对象数据库的地方。 这是 Git
中最重要的部分,从其它计算机克隆 仓库时,复制的就是这里的数据。
基本的 Git
工作流程如下:
1. 在工作区中修改文件。
2. 将你想要下次提交的更改选择性地暂存,这样只会将更改的部分添加到暂存区。
3. 提交更新,找到暂存区的文件,将快照永久性存储到 `Git` 目录。
如果 Git
目录中保存着特定版本的文件,就属于 已提交 状态。 如果文件已修改并放入暂存区,就属于 已暂存 状态。 如果自上次检出后,作了修改但还没有放到暂存区域,就是 已修改 状态。
实用Git操作
git commit -a
直接跳过使用暂存区域也就是跳过
git add
操作,直接把所有已经跟踪过的文件暂存并提交。git mv
就相当于运行了下面三条命令:
1
2
3mv README.md README
git rm README.md
git add READMEgit log -n
指定显示几次提交记录
git commit --amend
有时候我们提交完了才发现漏掉了几个文件没有添加,或者提交信息写错了。此时,可以运行带有 –amend 选 项的提交命令来重新提交:
git reset HEAD <file>
取消指定文件的暂存状态
git checkout -- <file>
撤销对文件的修改
创建标签
Git
支持两种标签:轻量标签(lightweight)
与附注标签(annotated)
。
轻量标签很像一个不会改变的分支——它只是某个特定提交的引用。
而附注标签是存储在 Git
数据库中的一个完整对象, 它们是可以被校验的,其中包含打标签者的名字、电子邮件 地址、日期时间, 此外还有一个标签信息,并且可以使用 GNU Privacy Guard (GPG)
签名并验证。
git tag <tagname>
创建轻量标签
git tag -a <tagname>
创建附注标签
git show <tagname>
显示标签信息
git push origin <tagname>
推送指定标签到远程仓库
git push origin --tags
推送本地所有标签
git tag -d <tagname>
删除本地标签
git push origin --delete <tagname>
同步本地删除的标签到远程仓库
git config --global alias.co checkout
可以通过
git config
文件来轻松地为每一个命令设置一个别名
上面的例子设置了git co
代替git checkou