一、创建本地管理仓库
新建一个本地仓库,其实也就是新建一个文件夹。最简单的创建方式就是直接在桌面鼠标右键,新建文件夹,然后进去该文件夹。鼠标右键,打开git -> Git Bash Here -> git init
git init的作用是初始化git,将该文件夹变成一个可以被git管理的本地仓库。
该命令将创建一个名为 .git
的子目录,这个子目录含有你初始化的 Git 仓库中所有的必须文件,这个目录也是上面我们说的三个区域之一,这个目录也是 Git 保存数据记录的地方,非常重要,如非必要,不要轻易改动
二、工作流与基本操作
当一个项目被 Git 初始化以后,只是表示我们希望通过 Git 来管理当前的这个项目文件的不同时期版本记录,但是这个时候项目中已存在的文件,或者以后新增的文件都是没有进入版本控制管理的,它们是 未追踪(Untracked)
的状态
三、查看工作区的文件状态
git status
git status
查看工作区中的文件状态
乱码(win文件名为汉语时)
git status 显示乱码
git config --global core.quotepath false
终端乱码
菜单 -> 设置 -> 文本 -> 本地 / 编码
或修改配置文件
[gui]
encoding = utf-8
# 代码库统一使用utf-8
[i18n]
commitencoding = utf-8
# log编码
[svn]
pathnameencoding = utf-8
# 支持中文路径
[core]
quotepath = false
# status引用路径不再是八进制(反过来说就是允许显示中文了)
四、添加工作区文件到暂存区
git add
git add 1.txt
# 添加多个文件
git add 2.txt 3.txt
# 添加整个目录
git add ./a
# 添加多个目录
git add ./b ./c
# 添加所有文件
git add .
五、创建版本
git commit
将暂存区里的改动给提交到本地 git 仓库,也就是为这次工作(一般会把某个具有特定意义的工作作为一个版本,它可以是多个文件的变化)
- 每次提交同时会生成一个 40 位的哈希值,作为该次提交版本的唯一 id
提交备注
每次提交都需要填写备注信息
git commit
# 会调用默认(或自定义)的文本编辑器
六、修改默认编辑器
git config core.editor notepad
# 添加 vscode 编辑器 - mac
# 通过 vim 打开环境变量配置文件
vim ~/.bash_profile
# 添加环境变量
export PATH=/Applications/Visual\ Studio\ Code.app/Contents/Resources/app/bin:$PATH
# 保存退出
source ~/.bash_profile
# 测试:在终端中直接通过命令 code 调用 vscode
git config --global core.editor "code --wait"
七、单行备注
git commit -m 备注信息
八、查看提交日志
git log
// 完整格式
git log
// 简要格式(单行)
git log --oneline
// 显示完整格式(包括删除的信息)
git reflog
九、修复提交
git commit --amend
修复(替换上一次)提交,在不增加一个新的提交版本的情况下将新修改的代码追加到前一次的提交中(忘记提交部分内容时/修复Bug时)
git commit --amend -m 提交
十、 删除
git rm
# 从 git 仓库与工作区中删除指定文件
git rm 文件
# 只删除 git 仓库中的文件
git rm --cached 文件
# rm 以后,需要 commit 这次操作,否则 rm 将保留在暂存区
##(工作区:无 暂存区:有 仓库:无)
##每次操作,都应该提交到仓库中记录
git commit -m 修正
撤销,重置(回到指定历史时期)
git reset
十一、从暂存区中撤销到工作区
// 从暂存区中撤销一个指定文件
git reset HEAD 文件名称
// 从暂存区中撤销所有文件
git reset HEAD .
十二、该命令既可以用于回退版本
# 回退到指定的 commitID 版本
git reset --hard commitID