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 版本号
相关推荐
rannn_11113 分钟前
【Git教程】概述、常用命令、Git-IDEA集成
java·git·后端·intellij-idea
春日见2 小时前
虚拟机上由于网络问题无法正常git clone
linux·服务器·网络·人工智能·git·ubuntu·debug
冉佳驹2 小时前
Linux ——— Git的核心操作流程、进程状态及环境变量相关知识
linux·git·进程·环境变量·进程状态·fork
cherry有点甜·2 小时前
【git】git为什么会出现双向合并
git
笨鸟不是菜鸟4 小时前
gitignore文件如何添加忽略文件或文件夹
git
灰色人生qwer4 小时前
git add . 添加超长文件名报错了怎么办?
git·python·elasticsearch
星海拾遗13 小时前
git rebase记录
大数据·git·elasticsearch
ljh57464911914 小时前
PhpStorm 2022.3 版本中,修改使用 Git 提交时看到弹出式的对话框模式
ide·git·php·phpstorm
云闲不收16 小时前
git rebase
git
江上清风山间明月16 小时前
git pull和git checkout在恢复文件的区别
git·pull·checkout