git的操作(Operation of Git)

下载git,以archlinux为例:yay -S git

  • git分为三个区

    • 暂存区:工作区的变更提交到暂存区

    • 工作区:存放文件的地方

    • 版本库:暂存区的内容提交到版本库

git 复制代码
# 新建
# 在当前目录初始化git代码库
git init
# 将指定目录新建并初始化为git代码库
git init [dir]
# 克隆一个项目到本地
git clone [url]


# 文件操作
# 将当前目录下的所有文件添加到暂存区
git add .
# 将指定文件添加到暂存区
git add f1 f2 ...
# 将指定目录及其子目录添加到暂存区
git add [dir]
# 将暂存区的文件拉回工作区
git reset HEAD
# 删除工作区文件,并将删除的文件放入暂存区
git rm f1 f2 ...
# 重命名文件,并将此次操作放入暂存区
git mv old_name new_name
# 将暂存区的内容提交到仓库
git commit -m [msg]
# 将暂存区的指定文件提交到仓库
git commit f1 f2 ... -m [msg]
# 提交时显示所有的diff信息
git commit -v
# 若代码未发生改变,则修改上一次commit的msg
git commit --amend -m [msg]

# 配置
# 显示当前git的配置
git config --list
# 编辑git配置文件
git config -e [--global]
# 设置提交代码时的用户信息
git config [--global] user.name "name"
git config [--global] user.email "email"

# 分支
# 列出本地所有分支
git branch
# 列出所有远程分支
git branch -r
# 列出所有本地和远程分支
git branch -a
# 新建分支,但是不切换
git branch [branch_name]
# 新建分支并切换
git checkout -b [branch]
# 切换分支
git checkout [branch_name]
# 新建一个分支,指向指定commit
git branch [branch_name] [commit]
# 新建一个分支与指定的远程分支建立追踪关系
git branch --track [branch] [remote_branch]
# 合并指定分支到当前分支
git merge [bracnch]
# 选自一个commit合并到当前分支
git cherry-pick [commit]
# 删除分支
git branch -d [branch_name]
# 删除远程分支
git branch origin --delete
git branch -dr

# 远程同步
# 下载远程仓库的所有变动
git fetch [remote]
# 显示所有远程仓库
git remote -v
# 显示某个远程仓库的信息
git remote show [remote]
# 添加一个远程仓库并命名
git remote add [name] [remote_url]
# 拉取远程分支的变化,并合并到本地分支
git pull [remote] [branch]
# 上传本地指定分支到远程仓库
git push [remote] [branch]
# 强制推送当前分支到远程仓库
git push [remote] --force
# 推送所有分支到远程仓库

# 查看信息
# 显示所有有变更的文件
git status
# 显示当前分支的详细版本历史
git log
# 显示当前分支的简单版本历史
git reflog
# 显示暂存区和工作区的区别
git diff
# 回退到某个版本
git reset --hard 版本号
相关推荐
简离21 分钟前
Git 一次性清理已跟踪但应忽略文件
前端·git
Drone_xjw27 分钟前
【环境搭建】Windows 10上使用Docker搭建本地Git仓库(Gitea)完整教程
windows·git·docker
疯狂成瘾者1 小时前
git学习目录
git·学习
曾几何时`2 小时前
Git——自用手册
git
新镜6 小时前
【git】 曾经合入的文件被删除,再次合入时,相同的文件路径并不会自动合入
git
console.log('npc')7 小时前
git commit之后,想撤销commit
git
春日见7 小时前
UniAD的逻辑,与传统自动驾驶的差异
人工智能·windows·git·机器学习·docker·容器·自动驾驶
奋斗者1号7 小时前
解决Git Push Gerrit分支失败的全流程实战
大数据·git·elasticsearch
alanesnape7 小时前
在 Surface Pro X (ARM64) 上成功部署 Claude Code 的完整复盘
git·node.js·claude code部署·msys2clangarm64·美区apple id·礼品卡支付·surface pro x
SouthRosefinch8 小时前
Git下载与仓库配置
git