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 版本号
相关推荐
oscar9994 小时前
Monorepo 全面解析:优势、挑战与适用场景
git·monorepo
龙之叶6 小时前
Git Commit 生成与合入 Patch 指南
git
裸奔的大金毛14 小时前
Tekton - 自定义镜像配置git仓库克隆
git·ci/cd·devops·tekton
Adorable老犀牛17 小时前
可遇不可求的自动化运维工具 | 2 | 实施阶段一:基础准备
运维·git·vscode·python·node.js·自动化
xiaok18 小时前
把代码上传到gitee的时候,怎么忽略node_modules文件夹
git·gitlab·github
唐叔在学习19 小时前
听说有老哥分不清Git branch和tag?这不看看嘛
git·后端
雁于飞1 天前
vscode中使用git、githup的基操
笔记·git·vscode·学习·elasticsearch·gitee·github
小毛驴8502 天前
所有微服务部署都使用一个git地址,并且通过docker部署各个服务的情况下,如何编写mvn指令来处理各个服务。
git·docker·微服务
国王不在家2 天前
git 切换仓库后清理分支缓存
git
柯南二号2 天前
【Gitlab】Ubuntu 20.04服务器部署Gitlab
git·gitlab