记录 Git 操作时遇到的问题及解决方案

目录

  • 问题:git pull 时报错
    • 报错内容:` ! [rejected] v1.0.3 -> v1.0.3 (would clobber existing tag)`
    • 原因:本地 Git 仓库中已经存在名为 v1.0.3 和 v1.0.6 的标签了,而尝试从远程仓库(GitHub)拉取这些标签会覆盖已经存在的标签。
    • 解决:将本地的标签删除 `git tag -d v1.0.3` ,然后再尝试拉取 `git pull --tags origin main`
      • 补充:如果你需要保留这些本地标签,但也想拉取远程标签,可以使用命令:`git fetch --tags`
  • 问题:Git 在修改文件名大小写后,仓库中没变
    • 原因:git本身默认是忽略大小写的
    • 解决:设置当前忽略大小写为false即可 `git config core.ignorecase false`

问题:git pull 时报错

报错内容: ! [rejected] v1.0.3 -> v1.0.3 (would clobber existing tag)

> git pull --tags origin main
From github.com:xiaoxiongmao5/xapi-backend
 * branch            main       -> FETCH_HEAD
 ! [rejected]        v1.0.3     -> v1.0.3  (would clobber existing tag)
 ! [rejected]        v1.0.6     -> v1.0.6  (would clobber existing tag)

原因:本地 Git 仓库中已经存在名为 v1.0.3 和 v1.0.6 的标签了,而尝试从远程仓库(GitHub)拉取这些标签会覆盖已经存在的标签。

解决:将本地的标签删除 git tag -d v1.0.3 ,然后再尝试拉取 git pull --tags origin main

使用以下命令删除本地的标签:

git tag -d v1.0.3
git tag -d v1.0.6

再次运行 git pull 命令来拉取标签:

git pull --tags origin main

补充:如果你需要保留这些本地标签,但也想拉取远程标签,可以使用命令:git fetch --tags

git fetch --tags

这将只拉取远程标签而不覆盖本地标签。

问题:Git 在修改文件名大小写后,仓库中没变

原因:git本身默认是忽略大小写的

git本身默认是忽略大小写的,在修改文件名大写或小写时,不会被记录到变动中。通过以下命令查看当前是否忽略大小写:

git config core.ignorecase

解决:设置当前忽略大小写为false即可 git config core.ignorecase false

git config core.ignorecase false

设置生效后,再修改文件名大小写,即可更新到仓库中。

你可能感兴趣的:(环境配置,git)