Git与Gitee使用中的几个问题

一、拉取最新master分支覆盖本地仓库

1, cd进入本地仓库,切换master分支

bash 复制代码
# 进入仓库
cd 仓库目录

# 切换master分支
git checkout master

2, 获取远程 master 的最新信息

bash 复制代码
git fetch origin

3, 强制覆盖本地 master 分支

使用 reset 命令将本地 master 强制重置为远程 master 的最新版本(此操作会彻底删除本地所有未提交的修改和未推送的提交,请务必确认无需保留本地内容

bash 复制代码
git reset --hard origin/master

二、拉取远程非master分支最新内容

1,本地存在该分支(即完全替换为新内容)

如果本地已有该分支,但想放弃本地所有修改,完全同步远程最新内容,执行以下命令:

假设该分支叫Huayang

bash 复制代码
# 1. 切换到目标分支
git checkout Huayang

# 2. 拉取远程分支最新内容(保留本地未提交修改,若需完全替换则用后续步骤)
git pull origin Huayang

# (可选)若需完全替换本地内容(放弃所有本地修改),执行:
git fetch origin Huayang
git reset --hard origin/Huayang

2,本地不存在该分支

如果本地没有该分支,需先创建本地分支并关联远程分支,再拉取最新内容:(一般起同名)

这里推荐方法二,

bash 复制代码
# 方式一:直接创建并切换到本地分支,同时关联远程分支
git checkout -b <本地分支名> origin/<远程分支名>




# 方式二:分步操作
git fetch origin <远程分支名>  # 拉取远程分支信息到本地
git checkout <本地分支名>     # 创建并切换到本地分支(本地分支名通常与远程一致)

# 拉取远程分支最新内容
git pull origin <远程分支名>

三、强制推送本地分支覆盖远程master分支

master 分支历史混乱(多次无效提交、合并冲突残留),本地通过变基(rebase)整理后,需要强制推送覆盖远程,统一历史。

项目重构后,本地指定分支的代码更稳定、功能更完整,决定放弃原 master 的历史,直接用 该分支 的内容作为新的 master 基准。

远程 master 包含错误提交(如敏感信息、错误代码),本地通过 git resetgit rebase 撤销了这些提交,导致本地 master 历史与远程不一致,需要强制推送同步修正。

注意:强制推送会永久覆盖远程 master 的历史记录,如果操作不当,可能导致团队成员的代码丢失或冲突

1,本地分支是 master

bash 复制代码
git push origin master --force

--force 是强制推送的核心参数,会无视本地与远程的历史差异,直接覆盖远程)

2,本地分支是 master

bash 复制代码
git push origin <本地非master分支名>:master --force


例:本地分支叫 Huayang
git push origin Huayang:master --force
相关推荐
学传打活2 天前
【边打字.边学昆仑正义文化】_19_星际生命的生存状况(1)
微信公众平台·1024程序员节·汉字·昆仑正义文化
unable code9 天前
[HNCTF 2022 WEEK2]ez_ssrf
网络安全·web·ctf·1024程序员节
unable code10 天前
[NISACTF 2022]easyssrf
网络安全·web·ctf·1024程序员节
unable code11 天前
BUUCTF-[第二章 web进阶]SSRF Training
网络安全·web·ctf·1024程序员节
开开心心就好12 天前
进程启动瞬间暂停工具,适合调试多开
linux·运维·安全·pdf·智能音箱·智能手表·1024程序员节
仰泳之鹅13 天前
【51单片机】第一课:单片机简介与软件安装
单片机·嵌入式硬件·51单片机·1024程序员节
海海不瞌睡(捏捏王子)14 天前
C#知识点概要
java·开发语言·1024程序员节
小浣熊熊熊熊熊熊熊丶15 天前
飞牛NAS 安装 Teslamate 教程(docker版)
1024程序员节
程高兴15 天前
模糊PID控制的永磁同步电机矢量控制系统-SIMULINK
matlab·1024程序员节
海海不瞌睡(捏捏王子)15 天前
Unity知识点概要
unity·1024程序员节