延边网站建设做地方网站需要什么部门批准
文章目录
- 1. 确保已生成 SSH 密钥
 - 2. 在 GitHub 上创建远程仓库
 - 3. 初始化本地项目
 - 4. 将本地项目与远程仓库关联
 - 5. 添加文件并提交
 - 补充:拉取远程修改(可选)
 - 6. 推送到 GitHub
 - 7. 完成
 - 总结
 
- 出现的问题
 - 解决方法:
 - 方法 1:允许合并不相关的历史记录
 - 方法 2:强制覆盖本地历史记录
 - 方法 3:强制覆盖远程历史记录
 
- 注意事项:
 - 推荐操作:
 
要通过 SSH 将本地项目推送到 GitHub,请按照以下步骤操作:
第一步和第二步可以看我的另一个博客
github配置ssh连接
1. 确保已生成 SSH 密钥
如果你还没有 SSH 密钥,请先按照以下命令生成:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
 
将公钥(~/.ssh/id_rsa.pub)添加到 GitHub:
- 复制公钥:
cat ~/.ssh/id_rsa.pub - 登录 GitHub,进入 Settings → SSH and GPG keys → New SSH key。
 - 将公钥粘贴到 Key 字段中,保存。
 
验证 SSH 连接:
ssh -T git@github.com
 
如果看到 Hi username! You've successfully authenticated...,说明配置成功。
2. 在 GitHub 上创建远程仓库
- 登录 GitHub,点击 New repository。
 - 填写仓库名称,选择公开或私有,点击 Create repository。
 - 创建完成后,记下仓库的 SSH 地址(如 
git@github.com:username/repo-name.git)。 
3. 初始化本地项目
如果本地项目还未初始化为 Git 仓库,运行以下命令:
cd /path/to/your/project
git init
 

但是现在我们的本地的分支为
master,远程仓库的是main,所以最好我们将本地的名字改为main

4. 将本地项目与远程仓库关联
使用 GitHub 提供的 SSH 地址关联远程仓库:

git remote add origin git@github.com:username/repo-name.git
 
验证是否关联成功:
git remote -v
 

5. 添加文件并提交
将项目文件添加到 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/mainmain分支的内容和提交历史与远程main分支完全同步。 
方法 3:强制覆盖远程历史记录
如果你希望完全使用本地的内容,丢弃远程仓库的所有更改和历史记录,可以执行以下操作:
- 强制推送本地分支到远程仓库:
这会覆盖远程仓库的git push -u origin main --forcemain分支,使其与本地分支完全一致。 
注意事项:
- 数据丢失风险:强制合并或强制推送可能会导致历史记录或数据丢失,请确保你了解这些操作的影响。
 - 备份:在执行这些操作之前,建议备份当前分支或仓库,以防万一。
 
推荐操作:
如果你不确定如何处理,推荐使用 方法 1,即允许合并不相关的历史记录:
git pull origin main --allow-unrelated-histories
 
然后解决可能的冲突,并提交合并结果。
由于我并不想要远程的数据,想直接覆盖,所以我采用的是第三种方法:

