一些常用 Git 指令解释
一、检查本地是否是 Git 仓库
git status
1. 已经是 Git 仓库
如果显示类似:
On branch main说明项目已经初始化过 Git,可以直接配置远程仓库。
2. 还不是 Git 仓库
如果显示:
fatal: not a git repository
执行:
git init
git branch -M main设置 Git 提交用户名和邮箱:
git config --global user.name "你的名称"
git config --global user.email "你的邮箱"
将文件加入版本管理并创建第一次提交:
git add .
git commit -m "初始化项目"
二、配置 Git 远程仓库
1.查看当前远程仓库
git remote -v
应该看到类似:
gitea http://100.66.1.1:2000/用户名/AquaControlAI.git (fetch)
gitea http://100.66.1.1:2000/用户名/AquaControlAI.git (push)2.配置远程仓库地址
添加 Gitea 仓库地址:
git remote add gitea http://100.66.1.1:2000/用户名/AquaControlAI.git
修改 Gitea 地址:
git remote set-url gitea http://100.66.1.1:2000/用户名/AquaControlAI.git
git remote set-url gitea https://qsc20001102@100.66.1.1:2000/qsc20001102/RemLink.git3.向远程仓库推送
参数:仓库名称 推送分支
git push -u gitea maingit push gitea main三、强制获取远程代码
1. 获取远程仓库信息
git fetch gitea --prune
作用:
从名为 gitea 的远程仓库获取最新提交、分支和标签信息。
不会直接修改当前工作区文件。
--prune 会删除本地保存的、远程已经不存在的分支引用。
例如远程删除了 dev 分支,执行后,本地的 gitea/dev 引用也会被清理。
2. 强制恢复到远程 main 分支
git reset --hard gitea/main
作用:
将当前本地分支指向远程 gitea/main 的最新提交。
工作区文件和暂存区都会恢复成远程版本。
本地未提交的修改会被直接丢弃。
本地已有但没有推送到远程的提交,可能会从当前分支中消失。
例如本地修改了:
main.py
config.yaml
但没有提交,执行该命令后,这些修改会被远程版本覆盖。
3. 删除未被 Git 管理的文件
git clean -fdx
参数含义:
-f:强制删除。
-d:同时删除未跟踪目录。
-x:连 .gitignore 中忽略的文件也删除。
可能被删除的内容包括:
.env
venv/
__pycache__/
node_modules/
日志文件
缓存文件
本地配置文件
未加入 Git 的新文件这条命令的破坏性最大。删除后通常无法通过 Git 恢复。
执行前建议先预览:
git clean -ndx
其中 -n 表示只显示将要删除的内容,不实际删除。
4.整体执行结果
git fetch gitea --prune
git reset --hard gitea/main
git clean -fdx
执行完成后:
本地已提交代码 → 与远程 main 一致
本地未提交修改 → 删除
本地未跟踪文件 → 删除
.gitignore 忽略文件 → 删除
远程已删除分支引用 → 清理
如果不想删除 .env、虚拟环境等被忽略的文件,把最后一条改为:
git clean -fd
更稳妥的常用组合是:
git fetch gitea --prune
git reset --hard gitea/main
git clean -nd
git clean -fd
先用 git clean -nd 预览,确认后再执行真正删除。
四、查看修改删除代理
1.查看代理
查看 Git 当前代理:
git config --global --get http.proxy
git config --global --get https.proxy
查看所有包含代理的配置:
git config --show-origin --get-regexp ".*proxy"
这样还能看到代理来自哪个配置文件。
2.设置代理
假设本地代理地址是 127.0.0.1:7890:
git config --global http.proxy http://127.0.0.1:7890
git config --global https.proxy http://127.0.0.1:7890
使用 SOCKS5 代理:
git config --global http.proxy socks5://127.0.0.1:7890
git config --global https.proxy socks5://127.0.0.1:7890
更推荐支持域名解析的 SOCKS5:
git config --global http.proxy socks5h://127.0.0.1:7890
git config --global https.proxy socks5h://127.0.0.1:7890
3.修改代理
直接重新执行设置命令即可覆盖旧值:
git config --global http.proxy http://127.0.0.1:7897
git config --global https.proxy http://127.0.0.1:7897
4.删除代理
git config --global --unset http.proxy
git config --global --unset https.proxy
删除后检查:
git config --global --get http.proxy
git config --global --get https.proxy
没有输出就表示已经删除。