【Git】git常见问题

.git瘦身——删除github仓库中的提交历史记录

当提交太多次数之后,.git文件就会变得特别大,即使在.gitignore中设置了一些不需要同步的文件类型。这时如果确认不需要回退,可以将.git问价初始化为一开始的样子以减少空间的占用。

主要的思路是首先复制目标分支到一个新的分支,删除旧的分支后将复制的分支名修改为原来的名称。以删除main主分支的历史记录为例:

# 切换到一个脱离主分支的另外一条全新主分支,不用太在意叫什么,因为后面还会修改分支名称
git checkout --orphan new_branch
# 暂存所有改动过的文件,内容为当前旧分支的最新版本所有文件
git add -A
#提交更改
git commit -am "commit message"
#删除原始主分支
git branch -D main
#将当前分支重命名为 main
git branch -m main
#最后,强制更新您的存储库
git push -f origin main

强制覆盖本地仓库

当本地和github上的仓库冲突的时候,且确认本地的仓库需要更新为远端仓库,此时如果本地和远端有冲突,如何强制覆盖本地仓库?

要强制覆盖本地的git冲突,可以按照以下步骤进行操作:

  1. 首先,确认您当前的工作区是干净的。可以使用git status命令来查看工作区的状态,确保没有未提交的更改。如果有未提交的更改,可以使用git stash命令将其暂存起来。

  2. 在确认工作区干净后,可以使用git fetch命令从远程仓库获取最新的代码。

  3. 使用git reset –hard origin/branch_name命令将本地分支与远程分支进行强制同步,其中branch_name是需要同步的分支名称,如main分支。这个命令的作用是将本地分支的指针指向远程分支的最新提交。

  4. 如果步骤3还没有解决冲突,可以使用git clean -f命令清空工作区的文件。

  5. 最后,使用git pull命令来拉取最新的代码并合并到本地分支。

需要注意的是,强制覆盖本地的git冲突将会丢失本地的所有修改,包括未提交的更改。因此,在执行这个操作之前,请确保已经备份了重要的更改。同时也要谨慎操作,避免造成不可逆的损失。

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值