Git 使用随记

Git 使用随记

_

Git 使用随记

新功能开发

每个功能应该创建一个新的分支,这是比较方便后期维护的方案

git checkout -b feature/chat-api-updates

忽略本地更改

要解决 Git 提示“本地修改会被合并覆盖”的问题并放弃本地所有未提交的更改,可按以下步骤操作(针对 .env.test.sg 文件):

方法 1:放弃单个文件的修改(精准操作)

如果只需要放弃 .env.test.sg 的本地更改,执行:

git checkout -- .env.test.sg
  • 作用:将该文件恢复到最近一次提交(commit)的状态,本地所有未提交的修改会被直接丢弃。
  • 注意:此操作不可逆,确保该文件的修改无需保留后再执行。

方法 2:放弃所有本地未提交的修改(批量操作)

如果想放弃所有文件的本地更改(不限于 .env.test.sg),执行:

git checkout -- .
  • 作用:恢复工作区所有文件到最近一次提交的状态,清空所有未提交的修改。

方法 3:硬重置到远程最新版本(彻底放弃本地变更)

如果上述方法仍有问题,可直接将本地分支重置为远程 main 分支的最新版本:

# 拉取远程最新代码(仅获取,不合并)
git fetch origin main
# 硬重置本地分支到远程最新提交
git reset --hard origin/main
  • 注意:git reset --hard 会彻底删除本地所有未提交的修改、未跟踪的文件(需谨慎)。

操作后验证

执行完放弃更改的命令后,重新拉取/合并代码即可:

git pull origin main

此时应该能正常更新代码,不会再提示“本地修改被覆盖”的错误。

补充说明

  • 如果只是临时保存本地修改(而非直接放弃),可先用 git stash 暂存,后续需要时再用 git stash pop 恢复:

    # 暂存本地修改
    git stash
    # 拉取远程代码
    git pull origin main
    # 恢复暂存的修改(如需)
    git stash pop
    
  • git checkout -- 文件名 仅对已跟踪的文件生效;如果是新增的未跟踪文件,直接删除即可。

Node包管理器使用-Npm、Pnpm 2025-12-12

评论区