给origin远程配置多个推送地址(方案一)
核心思路是让origin这个默认远程仓库同时指向 GitHub 和 Gitee,执行一次git push origin main就会自动推送到两个平台,无需额外操作。
查看当前远程仓库配置
git remote -v
2026/1/8大约 2 分钟
核心思路是让origin这个默认远程仓库同时指向 GitHub 和 Gitee,执行一次git push origin main就会自动推送到两个平台,无需额外操作。
git remote -v
通过 Git 全局配置指定默认分支
提示
适配 Git 2.28+ 版本,该版本开始原生支持 init.defaultBranch 配置项
打开终端
git config --global init.defaultBranch main
1原生文件带注释
#应用名称,可以改成您的组织或公司名称
APP_NAME = Gogs_YOUHU
#运行应用的用户名称
RUN_USER = git
#鉴于性能和其它考虑,建议在部署环境下修改为 prod 模式。在您完成安装操作时,该值也会被设置为 prod
RUN_MODE = prod
[database]
#数据库类型
DB_TYPE = mysql
# 数据库主机地址与端口
HOST = 127.0.0.1:3306
# 数据库名称
NAME = gogs
#数据库用户名
USER = root
# 数据库用户密码
PASSWD = 自己的的数据库密码
#仅限 PostgreSQL 使用
SSL_MODE = disable
#仅限 SQLite3 使用,数据库文件路径
PATH = data/gogs.db
[repository]
#用户仓库存储根目录,必须为绝对路径,默认为 ~/<user name>/gogs-repositories
ROOT = /home/git/gogs-repositories
[server]
# 服务器域名
DOMAIN = git.youhu.club
# 应用 HTTP 监听端口号
HTTP_PORT = 3000
# 公开的完整 URL 路径
ROOT_URL = http://git.youhu.club:3000/
#当 SSH 功能不可用时可以禁用
DISABLE_SSH = false
#SSH 端口号,如果不为 22 的话可以在此修改
SSH_PORT = 22
# 启用该选项来启动内置 SSH 服务器
START_SSH_SERVER = false
#激活该选项来禁止从 CDN 获取静态资源,同时 Gravatar 服务也将被自动禁用
OFFLINE_MODE = true
[mailer]
# 启用该选项以激活邮件服务
ENABLED = false
[service]
#激活该选项来要求注册用户必须验证邮箱,要求已启用 Mailer
REGISTER_EMAIL_CONFIRM = false
#激活该选项来发送通知邮件给关注者,例如创建 issue 时,要求已启用 Mailer
ENABLE_NOTIFY_MAIL = false
#激活该选项来禁止检查响应类型的密钥最小长度
DISABLE_REGISTRATION = true
#激活该选项以在用户注册时要求输入验证码
ENABLE_CAPTCHA = false
激活该选项来要求用户必须登录才能浏览任何页面
REQUIRE_SIGNIN_VIEW = true
[picture]
#激活该选项来仅使用本地头像
DISABLE_GRAVATAR = true
激活该选项来启用 Federated 头像服务(http://www.libravatar.org),当 Gravatar 被禁用时此选项无法生效
ENABLE_FEDERATED_AVATAR = false
[session]
#Session 引擎提供者,可以是 memory、file、redis 或 mysql
PROVIDER = file
[log]
#日志记录模式,默认为 console。如果想要开启多模式,请使用逗号分割,例如:"console, file"
MODE = file
#基本日志级别,默认为 Trace
LEVEL = Info
#日志文件的根目录
ROOT_PATH = /home/git/gogs/log
[security]
#用于指示是否允许访问安装页面(该页面可以设置管理员帐号,因此该选项非常重要)
INSTALL_LOCK = true
#全局的加密密钥,务必修改该值以确保您的服务器安全(会在每次安装时自动生成随机字符串)
SECRET_KEY = YV1s5tZwcTXWfgs
提示
搭建自己的git服务器
提示
在使用git提交的使用我们可以使用commit进行提交,为了更高效的查看历史记录,提交前加了前缀规范
invalid 无效的
question 问题
wontfix 未修复
help wanted 求助
perfect 完善
enhancement 增强
duplicate 复制
bug bug修复
fix-修复bug
提示
在日常开发中,有的时候需要在本地写代码,使用sftp上传到服务器,进行即时调试.完成以后在本地代码提交保存,服务器需要重新拉取代码,但是服务器上已经修改了代码,,这个时候就需要去服务器丢弃修改,重新拉取代码.
git checkout .
在使用 Git 进行版本控制时,有时我们可能需要彻底清空之前的提交记录,以便将仓库重置为一个干净的状态。这在进行项目重构、合并仓库、或清理不必要的历史记录时特别有用
警告
前提远程分支需要去除保护-解除保护不被强制推送.因为后续需要用到强制推送
第一步:创建一个全新分支
git checkout --orphan clean_log
#表示此为注释,将被Git忽略
#以斜杠"/"开头表示目录;
#以星号"*"通配多个字符;
#以问号"?"通配单个字符;
#以方括号"[]"包含单个字符的匹配列表;
#以叹号"!"表示不忽略(跟踪)匹配到的文件或目录;
# *.a 表示忽略所有 .a 结尾的文件
# !lib.a 表示但lib.a除外
# /TODO 表示仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO
# build/ 表示忽略 build/目录下的所有文件,过滤整个build文件夹;
# doc/*.txt 表示会忽略doc/notes.txt但不包括 doc/server/arch.txt
# bin/: 表示忽略当前路径下的bin文件夹,该文件夹下的所有内容都会被忽略,不忽略 bin 文件
# /bin: 表示忽略根目录下的bin文件
# /*.c: 表示忽略cat.c,不忽略 build/cat.c
# debug/*.obj: 表示忽略debug/io.obj,不忽略 debug/common/io.obj和tools/debug/io.obj
# **/foo: 表示忽略/foo,a/foo,a/b/foo等
# a/**/b: 表示忽略a/b, a/x/b,a/x/y/b等
# !/bin/run.sh 表示不忽略bin目录下的run.sh文件
# *.log: 表示忽略所有 .log 文件
# config.php: 表示忽略当前路径的 config.php 文件
# /mtk/ 表示过滤整个文件夹
# *.zip 表示过滤所有.zip文件
# /mtk/do.c 表示过滤某个具体文件