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 版本号
相关推荐
悟空瞎说36 分钟前
# Git 交互式变基:优雅整理提交历史,告别杂乱 PR 记录
前端·git
身如柳絮随风扬37 分钟前
Git 核心操作:rebase 与 merge 的区别,以及分支管理最佳实践
大数据·git
cccyi740 分钟前
Git本地和远程邮箱一致,上传也有贡献显示,但是没有绿点或绿点延迟显示
git
暗暗别做白日梦3 小时前
Git 提交信息命名规范:feat、fix、refactor
git
憧憬成为java架构高手的小白5 小时前
git(基于b站狂神说学习)【未完结】
git·学习
likerhood6 小时前
Git 提交与推送常见报错处理笔记
笔记·git
chen_2276 小时前
KZPROJ Git Diff AI 审查工具
git·ai·claude·kanzi
向日的葵0066 小时前
大模型技术之git(第八章)
git
xuhaoyu_cpp_java8 小时前
Git学习(一)
经验分享·笔记·git·学习
Mr YiRan9 小时前
Android构建优化:基于Git Diff+TaskGraph
android·git·elasticsearch