🌄Git安装
Git官网
下载Git
工具:https://git-scm.com/
下载安装完成后,鼠标右键将会集成Git工具
:Git GUI here
和Git Bash here
,分别是图形窗口与命令行
打开Git Bash here
命令行窗口,使用命令git --version
查看版本信息
安装成功
🏡 初始配置
配置文件是~/.gitconfig
第一个要配置的是你个人的用户名称和电子邮件地址。这两条配置很重要,每次 Git 提交时都会引用这两条信息,说明是谁提交了更新,所以会随更新内容一起被永久纳入历史记录:
git config --global user.email "your-email-address"
git config --global user.name "your-name"
可在Git Bash
命令行中查看这两条配置命令的执行结果:
cat ~/.gitconfig
🚲 基本命令行
# 初始化
git init
# 克隆远程仓库
git clone <repository-url>
# 查看状态
git status
# 添加文件到暂存库
git add <filename>
# 提交记录到仓库
git commit -m 'your commit message'
# 删除版本库与项目目录中的文件
git rm <filename>
# 仅删除版本库中的文件
git rm --cached <filename>
# 修改最后一次提交
git commit --amend
🛴 分支管理
# 创建新的分支
git branch branch_name
# 删除分支
git branch -d branch_name
# 强制删除分支
git branch -D branch_name
# 切换到某分支
git checkout branch_name
# 创建新的分支并切换到该分支
git checkout -b branch_name
# 查看分支
git branch
# 在当前分支下,合并某分支
git merge branch_name
# 查看合并过的分支
git branch --merged
# 查看未合并的分支
git branch --no-merged
✂️ 清理资源
git clean
命令会删除所有没有被跟踪Untracked
的文件
# 告诉你哪些文件将会被删除
git clean -n
# 删除当前目录下未跟踪文件,不会删除 .gitignore 指定的文件
git clean -f
# 删除当前目录下未跟踪的文件以及文件夹,不会删除 .gitignore 指定的文件
git clean -df
📌 恢复提交
使用reset
恢复到历史提交点,重置暂存区与工作目录的内容
# 清空工作区与暂存区的改动
git reset --hard
# 恢复前三个版本
git reset --hard HEAD^^^
# 保留工作区内容,把文件差异放进暂存区
git reset --soft
📑 日志查看
# 查看日志
git log
# 查看最近两次的日志
git log -p -2
# 在日志基础上显示已修改文件清单
git log --name-only
# 在日志基础上显示新增、修改、删除的文件清单
git log --name-status
# 简略显示日志
git log --oneline
📝 定义别名
可以通过创建命令别名减少输入量,比如:
# git c 相当于 git commit
git config --global alias.c commit
可以在配置文件
~/.gitconfig
中直接编辑查看
📁 Stashing
当你正在进行项目中某一部分的工作,里面的东西处于一个比较杂乱的状态,而你想转到其他分支上进行一些工作。问题是,你不想提交进行了一半的工作,否则以后你无法回到这个工作点。
“暂存” 可以获取你工作目录的中间状态——也就是你修改过的被追踪的文件和暂存的变更——并将它保存到一个未完结变更的堆栈中,随时可以重新应用。
# 储存工作
git stash
# 查看储藏列表
git stash list
# 应用最近的储藏
git stash appy
# 应用更早的储藏,index 为列表中显示的序列号
git stash apply stash@{index}
# 删除储藏
git stash drop stash@{index}
# 应用并删除上次储藏
git stash pop
🔖 Tag
对某时间点的版本打上标签,用于发布版本,比如:v1.0
# 添加标签
git tag v1.0
# 列出标签
git tag
# 删除标签
git tag -d v1.0