git使用教程
git使用教程
1.创建仓库
创建仓库的两种方式:
- 创建一个全新的仓库:git init 会在命令行当前的目录初始化创建仓库
- 远程克隆一个仓库:git clone 被克隆仓库的地址
1 | # 进入要被创建为仓库的文件夹 |
创建完成好了仓库,会在当前的仓库中生成一个.git文件夹
克隆远程仓库会将远程仓库拉取到当前的目录下
2.暂存区add
- git add 将提交的所有修改放到暂存区
1 | # 添加指定文件到暂存区,包括被修改的文件 |
3.提交commit
| 指令 | 描述 |
|---|---|
| git commit -m ‘说明’ | 提交变更,参数-m设置提交的描述信息,应该正确提交,不带该参数会进入说明编辑模式 |
| git commit -a | 参数-a,表示直接从工作区提交到版本库,略过了git add步骤,不包括新增的文件 |
| git commit [file] | 提交暂存区的指定文件到仓库区 |
| git commit –amend -m | 使用一次新的commit,替代上一次提交,会修改commit的hash值(id) |
| git log -n20 | 查看日志(最近20条),不带参数-n则显示所有日志 |
| git log -n20 –oneline | 参数“--oneline”可以让日志输出更简洁(一行) |
| git log -n20 –graph | 参数“--graph”可视化显示分支关系 |
| git log –follow [file] | 显示某个文件的版本历史 |
| git blame [file] | 以列表形式显示指定文件的修改记录 |
| git reflog | 查看所有可用的历史版本记录(实际是HEAD变更记录),包含被回退的记录(重要) |
| git status | 查看本地仓库状态,比较常用的指令,加参数-s简洁模式 |
1 | # 提交暂存区到仓库区 |
4.Git的“指针”引用
- 标签 就是对某一个提交记录的的 固定 “指针”引用,取一个别名更容易记忆一些关键节点。存储在工作区根目录下
.git\refs\tags。 - 分支 也是指向某一个提交记录的“指针”引用,“指针”位置可变,如提交、更新、回滚。存储在工作区根目录下
.git\refs\heads。 - HEAD:指向当前活动分支(最新提交)的一个“指针”引用,存在在“
.git/HEAD”文件中,存储的内容为“ref: refs/heads/master”。
5.提交标识符id,head~n
- commit id,一个40位编码,指令中使用的时候可以只输入前几位(6位)
- 还有一种就是
HEAD~n,是基于当前HEAD位置的一个相对坐标HEAD表示当前分支的最新版本,是比较常用的参数。HEAD^上一个版本,HEAD^^上上一个版本。HEAD~或HEAD~1表示上一个版本,以此类推,HEAD^10为最近第10个版本。HEAD@{2}在git reflog日志中标记的提交记录索引。
6.diff比较不同版本文件之间的差距
| 指令 | 描述 |
|---|---|
| git diff | 查看暂存区和工作区的差异 |
| git diff [file] | 同上,指定文件 |
| git diff –cached | 查看已暂存的改动,就是暂存区与新版本HEAD进行比较 |
| git diff –staged | 同上 |
| git diff –cached [file] | 同上,指定文件 |
| git diff HEAD | 查看已暂存的+未暂存的所有改动,就是与最新版本HEAD进行比较 |
| git diff HEAD~ | 同上,与上一个版本比较。HEAD~表示上一个版本,HEAD~10为最近第10个版本 |
| git diff [id] [id] | 查看两次提交之间的差异 |
| git diff [branch] | 查看工作区和分支直接的差异 |
1 | # 查看文件的修改 |
Git是目前最主流的分布式版本控制系统,是免费开源的项目,核心的版本控制,用于进行多人的代码编辑,是团队开发的必备工具!
注:本文参考并感谢安木夕
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 flymh🌄!






