Git的相关使用(工作常用)

一、撤销的相关命令(重要!!!)

1. 使用 git reset

(a)软重置

如果你想撤销最近的提交,但保留文件的更改(即将它们放回暂存区),可以使用:

java 复制代码
git reset --soft HEAD~1
(b)混合重置(默认)

如果你想撤销最近的提交,并将更改放回工作目录(即不再暂存这些更改),可以使用:

java 复制代码
git reset HEAD~1
(c)硬重置

如果你想完全丢弃最近的提交及其更改,可以使用:

java 复制代码
git reset --hard HEAD~1

注意:硬重置会永久删除未提交的更改,请谨慎使用。

2. 使用 git revert

如果你已经将提交推送到远程仓库,并且不想改变历史记录,可以使用 git revert。这个命令会创建一个新的提交,撤销指定的提交:

java 复制代码
git revert HEAD

这会生成一个新的提交,内容是撤销最后一次提交的更改。

3. 查看提交历史

在执行任何操作之前,建议查看提交历史,以确保你要撤销的提交是正确的。你可以使用:

java 复制代码
git log

这个命令会显示提交历史,包括每个提交的哈希值、作者、日期和提交信息。

4. 强制推送(如果需要)

如果你使用 git reset 并且需要将更改推送到远程仓库,你可能需要强制推送:

如果你不知道当前在哪个分支可以查看一下(因为强制推送不可逆,所以确定好强制推送到正确的分支)!!!

4.1、查看当前分支

java 复制代码
git branch

4.2、强制推送

java 复制代码
git push --force

4.3、强制推送到指定的分支

java 复制代码
git push origin <branch-name> --forc

警告:强制推送会覆盖远程分支的历史记录,可能会导致其他开发者的本地仓库出现问题。因此,在团队协作时应谨慎使用。

二、Git的基本命令

初始化仓库

java 复制代码
git init

克隆远程仓库

java 复制代码
git clone <repository-url>

查看当前状态

java 复制代码
git status

添加文件到暂存区

java 复制代码
git add <file-name>

或者添加所有文件:

java 复制代码
git add .

提交更改

java 复制代码
git commit -m "commit message"

查看提交历史

java 复制代码
git log

三、 分支管理

1、查看分支

css 复制代码
git branch

2、创建新分支:

css 复制代码
git branch <branch-name>

3、切换分支

css 复制代码
git checkout <branch-name>

4、创建并切换到新分支:

css 复制代码
git checkout -b <branch-name>

5、合并分支:

css 复制代码
git merge <branch-name>

四、 远程操作

1、查看远程仓库

css 复制代码
git remote -v

2、添加远程仓库

css 复制代码
git remote add <name> <repository-url>

3、推送到远程仓库

css 复制代码
git push <remote> <branch-name>

4、从远程仓库拉取更改

css 复制代码
git pull <remote> <branch-name>

5、获取远程更新

css 复制代码
git fetch

五、其他常用命令

1、查看修改内容

css 复制代码
git diff

2、重置文件到最后一次提交

css 复制代码
git checkout -- <file-name>

3、撤销最近的提交(保留更改):

css 复制代码
git reset --soft HEAD~1

4、删除分支:

css 复制代码
git branch -d <branch-name>
相关推荐
Brilliantwxx42 分钟前
【Linux】 开发|Git 版本控制与 gdb/cgdb 调试
linux·笔记·git
.Hypocritical.1 天前
Git 全套实操|配置 /.gitignore/ 分支合并 / 冲突解决 /git stash 完整教程
git
来日方长。。。。long1 天前
Hermes Agent橙皮书共读|第三篇:保姆级实战部署|本地/VPS从零搭建Hermes
ide·git·hermes
其实防守也摸鱼1 天前
VS Code Git 工作树:解锁多分支并行开发新体验
数据库·git·安全·oracle·架构·自动化
ERD Online1 天前
我们怎么设计 good first issue:让第一个 PR 两小时内合入
数据库·git·后端·开源·issue
Python私教1 天前
Codex 自动写 Commit 够安全吗?一套证据化 Git 提交流程
人工智能·git·后端
果果燕2 天前
实习笔记(一):NFS、Samba、VNC、Git、CMake、systemd、内核、交叉编译
linux·arm开发·c++·笔记·git
美味蛋炒饭.2 天前
Git 版本控制(下)
开发语言·git·学习·总结·后端开发
互联网中的一颗神经元2 天前
09 — .git 地图:打开那个隐藏文件夹
大数据·git·elasticsearch
Patrick_Wilson2 天前
你知道 git check 的故事吗
git·程序员·命令行