网站开发团队架构,合肥公司做网站,wordpress date,网站搜索文章目录 1. 确保已生成 SSH 密钥2. 在 GitHub 上创建远程仓库3. 初始化本地项目4. 将本地项目与远程仓库关联5. 添加文件并提交补充#xff1a;拉取远程修改#xff08;可选#xff09;6. 推送到 GitHub7. 完成总结 出现的问题解决方法#xff1a;方法 1#xff1a;允许合… 文章目录 1. 确保已生成 SSH 密钥2. 在 GitHub 上创建远程仓库3. 初始化本地项目4. 将本地项目与远程仓库关联5. 添加文件并提交补充拉取远程修改可选6. 推送到 GitHub7. 完成总结 出现的问题解决方法方法 1允许合并不相关的历史记录方法 2强制覆盖本地历史记录方法 3强制覆盖远程历史记录 注意事项推荐操作 要通过 SSH 将本地项目推送到 GitHub请按照以下步骤操作 第一步和第二步可以看我的另一个博客 github配置ssh连接
1. 确保已生成 SSH 密钥
如果你还没有 SSH 密钥请先按照以下命令生成
ssh-keygen -t rsa -b 4096 -C your_emailexample.com将公钥~/.ssh/id_rsa.pub添加到 GitHub
复制公钥cat ~/.ssh/id_rsa.pub登录 GitHub进入 Settings → SSH and GPG keys → New SSH key。将公钥粘贴到 Key 字段中保存。
验证 SSH 连接
ssh -T gitgithub.com如果看到 Hi username! Youve successfully authenticated...说明配置成功。 2. 在 GitHub 上创建远程仓库
登录 GitHub点击 New repository。填写仓库名称选择公开或私有点击 Create repository。创建完成后记下仓库的 SSH 地址如 gitgithub.com:username/repo-name.git。 3. 初始化本地项目
如果本地项目还未初始化为 Git 仓库运行以下命令
cd /path/to/your/project
git init但是现在我们的本地的分支为master,远程仓库的是main,所以最好我们将本地的名字改为main 4. 将本地项目与远程仓库关联
使用 GitHub 提供的 SSH 地址关联远程仓库 git remote add origin gitgithub.com:username/repo-name.git验证是否关联成功
git remote -v5. 添加文件并提交
将项目文件添加到 Git 暂存区并提交
git add .
git commit -m Initial commit补充拉取远程修改可选 在推送本地修改之前建议先拉取远程仓库的最新更改以避免冲突 git pull origin main如果有冲突解决冲突后重新提交
git add .
git commit -m 解决冲突6. 推送到 GitHub
将本地代码推送到远程仓库
git push -u origin main-u将本地分支与远程分支关联以后可以直接使用 git push。main默认分支名称可能是 master具体取决于仓库设置。 7. 完成
推送成功后刷新 GitHub 页面即可看到项目文件。 总结
生成 SSH 密钥并添加到 GitHub。在 GitHub 上创建远程仓库。初始化本地项目并关联远程仓库。提交代码并推送到 GitHub。
如果遇到问题请检查 SSH 配置或网络连接。
出现的问题 由于我先前提交了但是没有合并所以我的远程的origin存在提交所以我在push的时候出现了矛盾 遇到的错误是因为 Git 检测到本地仓库和远程仓库的历史记录不相关unrelated histories。这种情况通常发生在以下场景
你本地初始化的仓库和远程仓库没有共同的提交历史。远程仓库是一个全新的仓库或者你本地仓库是一个全新的仓库。
Git 默认会拒绝合并不相关的历史记录以避免意外覆盖或丢失数据。不过你可以通过以下方法解决这个问题。 解决方法
方法 1允许合并不相关的历史记录
如果你确定需要合并本地和远程仓库的历史记录可以使用 --allow-unrelated-histories 选项强制合并
git pull origin main --allow-unrelated-histories这会将远程仓库的历史记录与本地仓库的历史记录合并。如果有冲突Git 会提示你解决冲突。
方法 2强制覆盖本地历史记录
如果你希望完全使用远程仓库的内容丢弃本地的所有更改和历史记录可以执行以下操作
备份当前分支可选git branch backup-main重置本地分支以匹配远程分支git fetch origin main
git reset --hard origin/main这会强制将本地 main 分支的内容和提交历史与远程 main 分支完全同步。
方法 3强制覆盖远程历史记录
如果你希望完全使用本地的内容丢弃远程仓库的所有更改和历史记录可以执行以下操作
强制推送本地分支到远程仓库git push -u origin main --force这会覆盖远程仓库的 main 分支使其与本地分支完全一致。 注意事项
数据丢失风险强制合并或强制推送可能会导致历史记录或数据丢失请确保你了解这些操作的影响。备份在执行这些操作之前建议备份当前分支或仓库以防万一。 推荐操作
如果你不确定如何处理推荐使用 方法 1即允许合并不相关的历史记录
git pull origin main --allow-unrelated-histories然后解决可能的冲突并提交合并结果。 由于我并不想要远程的数据想直接覆盖所以我采用的是第三种方法