Git新手求助:克隆仓库推送报错,如何同步原仓库更新?
仓库操作问题解决方案
1. 解决推送自建仓库时的"fatal error access denied"错误
- 检查远程仓库地址:执行
git remote -v,确认push地址是你自建仓库的HTTPS/SSH地址,若错误则用git remote set-url origin [正确地址]修改 - HTTPS方式推送:若开启双因素认证,需用个人访问令牌替代密码输入;未开启则确保用户名密码输入正确
- SSH方式推送:验证本地SSH密钥是否已添加到GitHub账号,执行
ssh -T git@github.com确认连接正常
2. 同步原仓库更新且不覆盖自己的修改
推荐两种方案,按需选择:
方案一:使用Fork(规范协作方式)
- 操作步骤:
- 打开原仓库GitHub页面,点击右上角「Fork」,将仓库复制到自己账号下
- 克隆自己的Fork仓库到本地:
git clone [你的Fork仓库URL] - 添加原仓库为上游远程:
git remote add upstream https://github.com/Oak-Harbor-Kits/Starter-Kit-V4-Eleventy.git - 原仓库有更新时,拉取上游代码:
git fetch upstream - 合并上游更新到本地分支:
git merge upstream/main - 若出现冲突(比如你的HTML/CSS和原仓库修改了同一部分),打开冲突文件手动保留你的代码,再执行
git add [冲突文件名]、git commit完成合并 - 推送合并后的代码到自己仓库:
git push origin main
方案二:给现有自建仓库添加上游远程(适合已提交内容的情况)
如果你已经把内容复制到新文件夹并提交到自建仓库,可直接添加原仓库作为上游:
- 操作步骤:
- 进入本地仓库目录,执行
git remote add upstream https://github.com/Oak-Harbor-Kits/Starter-Kit-V4-Eleventy.git - 后续同步更新的步骤和方案一的4-7一致:拉取上游、合并、处理冲突、推送
- 进入本地仓库目录,执行
3. 合规性与同步便捷性说明
- 合规性:只要原仓库LICENSE文件允许修改分发(多数开源启动套件采用MIT、Apache等宽松许可证),复制内容提交到自建仓库是合规的,建议保留原仓库的LICENSE文件和版权声明
- 便捷性:添加上游远程仓库的方式远优于手动复制更新,每次只需几条Git命令即可同步,非冲突更新会自动合并,冲突时也能清晰对比修改内容
内容的提问来源于stack exchange,提问作者Dewbrew
相关产品推荐
相关产品推荐

