一、基础:git和github概述(待完善)
二、基础:gitee概述及使用(待完善)
三、github使用中各类问题及其解决(持续更新中)
1、在pull/push时出现Failed to connect to github.com port 433
(1)报错原因
网络链路不通,通常是因为:
网络环境限制,校园网/公司防火墙拦截了海外HTTPS连接,或当前网络运营商(ISP)路由到GitHub链路异常。代理/host配置冲突,本地残留错误的Git代理配置,或HOST文件IP已失效。GitHub服务器临时抖动(国内直接访问GitHub的常态:D),或本地网络连接不稳定。
(2)解决方案
推荐直接通过切换SSH协议的方法来解决(配置一次即可长期使用)
=========================================================================
当然如果急着用或者觉得配置SSH很麻烦,可以试试以下两个临时解决办法,具有一定偶然性,不保证一定有用,效果因人而异(选择直接配置SSH的可以忽略此处内容,直接看切换协议的方法即可):
测试网页连通:打开浏览器访问github.com,若无法加载说明可能是网络不稳定,可以直接切换网络(手机热点/5G)后再次尝试
如果有在科学上网,检查是否为全局模式,如果不是,按以下方法切换为全局
首先清除旧配置:
git config --global --unset http.proxygit config --global --unset https.proxy然后打开“全局”按钮即可
=========================================================================
好了,现在来介绍一下“真正”的解决方法——切换协议
四、github上使用agent(进度1/N)
1、已经错过了和agent的聊天界面,如何同步agent的修改到本地?
(1)先确认Agent 提交方式
在 GitHub 上,AI 帮你改代码一般有两种情况:
1. 直接在你的仓库里新建了一个 commit
你能在仓库首页看到: 1 commit ahead 之类
或者在 Commits 页面能看到修改记录
2. 开了一个 Pull Request(PR)
页面上方会有个 PR 提示
你需要先 Merge PR 合并到主分支,本地才能拉到
在开始pull之前,一定要确定AI的提交位置
如果找不到它的提交:
要么提交在别的分支,不是你本地的主分支
要么是PR 还没合并
(2)最简单、通用的拉取步骤(命令行)
打开你本地项目的终端,依次执行:
1. 先拉取远程所有最新信息
bashgit fetch origin
2. 查看远程有哪些分支、哪些提交
bash
git log --oneline origin/main
# 或者
git log --oneline origin/master
(看看里面有没有 AI 那条修复 commit)
3. 直接把远程最新代码合并到本地
bash
git pull origin main
如果你的主分支叫 master 就换成:
bash
git pull origin master
执行完,本地代码就和 GitHub 上完全一致了。
当然,以上所说都是理想情况,实际操作中会遇到多种问题,接下来就是
可能出现的各类问题及其解决方案汇总:
Q1:我找不到那个commit,怎么回事?
如果你找不到那个 commit,多半是分支问题
AI 很可能把修复提交到了新分支,比如: fix/bug-xxx 、 ai-fix 之类
可以通过下述两种方法排查:
(1)本地终端法
查看远程所有分支
bash
git branch -r
会看到类似:
origin/main
origin/ai-fix-some-bug
此时直接拉取这个“修复”到本地:
bash
git checkout ai-fix-some-bug
git pull origin ai-fix-some-bug
执行完后代码就过来了
(2)网页端快速确认方法
1. 登录github,打开你的 Library System Team 仓库
2. 点上方 Commits
3. 看最新一条是不是 AI 修复的
>如果是:直接本地 git pull 即可
>如果不是:点 Pull requests,看有没有待合并的修复 PR,先合并再 pull
总结“怎么找到commit”:
1. 网页确认:commit 是否在主分支 / PR 是否合并
2. 本地终端:
bash
git fetch
git pull origin main
3. 还找不到,就看远程分支,切到 AI 修复的分支即可。
Q2:本地 Git 无法通过 HTTPS 协议连接到 GitHub 服务器(端口 443 连接超时)怎么办?
2、在和agent的聊天界面,从0开始同步本地(eclipse)
(1)回答完成(出现绿色的✓)后,点击右下角creat pull request进入PR界面
(这个界面可以把AI的修改提交合并进main,因为此时还是draft,不能直接合并)
(2)把draft变成正式PR
点击ready for review→Merge pull request(绿色按钮)
(可能在右上方或者页面最下方)
此时会让你输入提交信息和详细描述,可以自己按照实际情况填写,也可以就用AI生成的
(3)确认合并
点击confirm merge
此时agent的修改正式进入main分支(可以看到到一个紫色的树叉)
现在你的远程仓库才正式有了这些改动
(3)回到eclipse:
右键项目→Team→Pull
或者:在终端执行
git pull origin main
把刚刚merge的代码拉到本地
注:和github的链接问题
打开蓝色小猫咪,打开系统代理,终端输入
git config --global --unset http.proxy
git config --global --unset https.proxxy
再执行
git fetch origin
附录:
学习资源:
1、廖雪峰:
http://www.liaoxuefeng.com/