Git --- 分布式系统 {
git基本组成框架 :{
| 工作区 | 暂存区 | 本地仓库 | 远程仓库 |
| workplace | Index | repository | remote |
workplace : 当前代码目录
Index : 缓存区 位于.git目录下 用于存放临时动作 如git add或git rm 后期通过git commit提交到本地仓库
repository: 本地仓库 存放代码文件 包括版本历史
remote : 远程仓库 存放代码文件 包括版本历史 位于远程服务器或github等代码托管平台
}
安装命令: sudo apt install git
配置命令: {
git config --global user.name your_name // 设置用户名
eg: git config --global user.name ZoZo
git config --global user.email your_email // 设置邮箱
eg: git config --global user.email ZoZo.xxx@xxxx.com // 设置邮箱
git config --global core.editor vim // 设置默认编辑器
}
创建本地空仓库: {
git init // 初始化当前目录为仓库 初始化后自动将当前仓库设置为master
eg: {
mkdir test // 创建目录
cd test // 进入目录
git init // 初始化仓库
初始化后将生成 ".git " --- 配置文件目录 使用 "ls -ah" // 查看隐藏目录
进入.git 目录 可看到相关配置文件
}
}
查看远程仓库地址: {
git remote -v // 查看远程仓库地址
git clone remote_repository_url // 克隆远程仓库到本地 remote_repository_url:为远程仓库地址
}
上传改动到本地仓库: {
git add filename // 提交文件到暂存区
git add --all // 将所有改动文件提交到暂存区 同步文件的删除改动
git add . // 将所有改动文件提交到暂存区 不同步文件的删除改动
git commit -m "commit message" // 提交改动到本地仓库
git commit --amend // 改写上次提交
// git commit --amend -m "new commit message" // 修改上次提交的消息
}
保存当前工作: {
git stash // 保存当前工作 此时可切换至别的分支
git stash list // 查看保存的工作列表
git stash pop // 恢复保存的工作
注释: 该命令的作用就是为了解决git不提交代码不能切换分支的问题
}
查看历史提交: {
git log // 查看提交历史
git log --pretty=oneline // 简化输出历史记录
git log filename // 查看指定文件改动历史
git reflog // 查看所有提交历史 包括已经删除的提交记录
git log -p // 查看每次提交的详细信息
git log -p -n // 查看最近n次提交的详细信息 n为数字
git log --stat // 查看每次提交的统计信息
git log --since=n.weeks // 查看过去n周的提交记录 n为整数
git log --since=2.months // 查看过去2个月的提交记录
git log --since="2021-01-01" --until="2021-06-30" // 查看2021年1月1日到6月30日的提交记录
}
代码回退: {
git reset --hard commit_id // 回退到指定提交版本
eg: git reset --hard 3fb2e5cc29a047d728527a43191c5e1b04a7d6c2 // 回退到指定提交版本
git reset --hard HEAD^ // 回退到上一个版本
git reset --hard HEAD~3 // 回退到前三个版本
git checkout -- filename // 丢弃工作区改动
git checkout filename // 取消文件操作 (在git commit之前)
}
查看改动: {
git status // 查看当前仓库状态
git show commit_id --stat // 查看指定提交版本的改动统计信息
git diff // 查看尚未暂存的改动内容
git diff filename(或commit id) // 查看指定文件或提交版本的改动内容
git diff --cached(或--staged) // 查看暂存区的改动内容
git config core.fileMode false // 取消文件权限修改显示
}
查看标签: {
git tag (or) git tag v2 // 查看标签 or 打标签
}
文件重命名: {
git mv old_filename new_filename // 文件重命名
}
创建or切换分支: {
git branch // 查看当前分支
git branch -a // 查看所有分支
git branch branch_name // 创建分支 但不切换
git checkout branch_name // 切换到指定分支
git checkout -b branch_name // 创建并切换到新分支
}
合并分支: {
git merge branch_name // 合并指定分支到当前分支
}
删除分支: {
git branch -D branch_name // 删除指定分支(本地分支)
git push origin --delete branch_name // 删除远程分支
}
Git别名: {
git config --global alias.co checkout // 设置别名 co 用于快速切换分支
eg: {
git co master // 快速切换到master分支
等价于 git checkout master
}
git config --global alias.br branch // 设置别名 br 用于快速创建分支
eg: {
git br new_branch // 快速创建新分支
等价于 git branch new_branch
}
git config --global alias.ci commit // 设置别名 ci 用于快速提交改动
eg: {
git ci -m "commit message" // 快速提交改动
等价于 git commit -m "commit message"
}
git config --global alias.st status // 设置别名 st 用于快速查看状态
eg: {
git st // 快速查看状态
等价于 git status
}
git config --global alias.last 'log -1 HEAD' // 设置别名 last 用于快速查看最后一次提交记录
eg: {
git last // 快速查看最后一次提交记录
等价于 git log -1 HEAD
}
}
}
Git 命令
最新推荐文章于 2024-10-16 18:12:06 发布