如何通过GitHub远程仓库同步两台设备的本地Git仓库并解决报错
报错原因
你遇到的fatal: not a git repository (or any of the parent directories): .git报错,本质是执行Git命令时的当前工作目录,不是Git本地仓库的根目录(即不包含.git隐藏文件夹的目录)。Git所有命令都需要在仓库目录下执行,否则无法识别仓库配置。
验证当前目录是否为仓库根目录
执行以下命令查看当前目录下是否存在.git隐藏文件夹:
- Linux/macOS 终端:
ls -a - Windows 命令提示符:
dir /a - Windows PowerShell:
Get-ChildItem -Force
如果输出结果中包含.git文件夹,说明当前目录正确,否则需要切换到你的本地仓库所在的目录再操作。
跨设备同步正确操作步骤
- 第一步:切换到本地仓库根目录,示例命令:
# Linux/macOS 示例,替换为你自己的仓库路径 cd ~/code/我的项目 # Windows 示例,替换为你自己的仓库路径 cd /d D:\code\我的项目 - 第二步:(可选)确认远程仓库关联正常,执行
git remote -v,输出结果中存在你绑定的GitHub远程仓库地址即可,无需重新配置 - 第三步:拉取远程最新变更,直接执行
git pull,即可将另一台设备push到远程的修改同步到当前本地仓库。
常见特殊情况处理
如果执行git pull时提示本地有未提交的修改无法合并,按以下两种方式任选其一处理即可:
- 暂存本地修改:执行
git stash暂存本地未提交内容,执行git pull完成同步后,再执行git stash pop即可恢复之前的本地修改 - 提交本地修改:将本地未提交的修改执行
git add、git commit提交到本地仓库后,再执行git pull同步即可
内容的提问来源于stack exchange,提问作者SiegeMann
相关产品推荐
相关产品推荐

