直接复制整个.git文件夹可保留全部提交历史、分支、标签和本地配置,但仅适用于已有完整本地仓库的情况;否则必须通过远程仓库拉取。

直接复制整个 .git 文件夹就能保留全部提交历史、分支、标签和本地配置,但仅限于你已有完整本地仓库的情况;如果旧电脑已不可用或只想同步最新状态,必须走远程仓库拉取流程。
先确认你手头有什么资源
迁移方式完全取决于你从旧电脑能带走什么:
- 能拷贝整个项目目录(含隐藏的
.git文件夹)→ 用「本地直传」最省事 - 只能访问远程仓库(GitHub/Gitee 等)→ 必须在新电脑上
git clone - 旧电脑已报废,又没推过远程 → 只能靠
git bundle备份后恢复
别跳步——先看清楚自己属于哪一类,再选对应操作。很多人卡在第一步就误判了资源状态。
拷贝 .git 文件夹后必须重配身份和凭证
即使你把整个项目文件夹原样复制到新电脑,git commit 仍会用新电脑的系统用户名和邮箱,导致提交记录署名错误。这不是 Git 自动继承的。
执行以下两步才真正“接续”开发身份:
git config --global user.name "Your Name"git config --global user.email "your@email.com"
如果用 SSH 推送,还要把旧电脑的 ~/.ssh/id_rsa 和 id_rsa.pub 复制过来,并运行 ssh-add ~/.ssh/id_rsa;如果用 HTTPS,需提前在远端平台生成新的 Personal Access Token 并配置凭据管理器(Windows Credential Manager / macOS Keychain),不能复用旧电脑的密码缓存。
CNB 云原生构建平台的 Git 操作技能,支持代码克隆、提交、推送、分支管理、Merge Request 管理、流水线触发与结果读取。初次使用需收集用户的 Git 用户名和邮箱。
git clone 后别急着改代码
用 git clone 拉下来的仓库,默认只检出 main 或 master 分支,其他本地分支、stash、reflog 全都丢失——它们只存在原仓库的 .git 目录里,不上传远程。
若你需要特定分支但远程没推送过,有两条路:
- 让旧电脑先执行
git push origin feature/login,再在新电脑git fetch && git checkout feature/login - 如果旧电脑已无法操作,且你记得分支名,可尝试
git checkout -b feature/login origin/feature/login(前提是该分支曾被推过)
别假设“所有分支都在远程”,Git 的分支模型是分布式的,远程只有你明确 push 过的那些。
IntelliJ IDEA 需要单独重连 Git 路径
IDEA 不会自动识别新电脑上的 Git 安装路径,即使你装了同版本 Git,也得手动指定:
- Windows/Linux:
File → Settings → Version Control → Git → Path to Git executable - macOS:
IntelliJ IDEA → Preferences → Version Control → Git → Path to Git executable
路径示例:C:\Program Files\Git\cmd\git.exe(Windows)或 /usr/local/bin/git(macOS)。填错会导致 IDE 显示 “Git not found”,但命令行 git 仍可用——这是最常见的脱节点。
最易被忽略的是 SSH 权限和凭据管理器的重置:私钥文件权限不对(Linux/macOS 下不是 600)、Windows 凭据里残留旧 Token、IDEA 内置终端未加载 SSH agent,都会导致 git push 卡在认证环节,报错像 Permission denied (publickey) 或 Authentication failed,但错误信息里从不提示问题出在哪儿。

















