Git#

1. 同步远端放弃本地#

git fetch --all
git reset --hard origin/master
git pull 

Windows下问题#

[[Problem of Windows#Windows下Git问题]]

2. git 项目由 Ext4 -> NTFS 复制后#

文件权限发生变化, Git追踪文件权限的话会标记所有文件都需要修改 因为在Linux 下文件权限为 -rw-r--r--(所有者可读写,其他用户只读),但是Linux下挂载NTFS文件权限为 -rwxr-xr-x(所有者可读、写、执行,其他用户可读、执行)就很难受

git config core.filemode false # 关闭github监控文件权限
# git config core.filemode false --global

3. 自己的小仓库 - Gogs 简介#

Gogs (Go Git Service) 是一个用 Go 语言编写的自托管 Git 服务,类似于 GitHub Gitlab Gitee。它轻量、快速且易于安装,适合个人或小团队使用。Gogs 提供了基本的 Git 仓库管理功能,包括代码托管、问题跟踪、Pull Request 等。

源码安装#

  1. 安装依赖

    • 确保已安装 Go 语言环境(1.13 或更高版本)。
    • 安装 Git 和 MySQL/PostgreSQL/SQLite3 数据库。
  2. 下载源码

    git clone https://github.com/gogs/gogs.git
    cd gogs
  3. 编译并运行

   go build -o gogs
	./gogs web
  1. 访问并配置
    • 打开浏览器访问 http://localhost:3000,按照提示完成初始配置。

Docker 安装#

  1. 拉取镜像

    docker pull gogs/gogs
  2. 运行容器

    docker run -d --name=gogs -p 10022:22 -p 10080:3000 -v /var/gogs:/data gogs/gogs
  3. 访问并配置

    • 打开浏览器访问 http://localhost:10080,按照提示完成初始配置。

参考链接#

4. 自己的小仓库2 - Gitea 简介#

安卓Termux之前好像也可以用Gogs但是现在突然不得行了, 所以换了这个, 用法界面都基本一致

搭配termux-services#

i. 配置 $PREFIX/var/service/gitea/run#

#!/data/data/com.termux/files/usr/bin/bash

# Termux-services 服务脚本

export PREFIX=/data/data/com.termux/files/usr
export HOME=/data/data/com.termux/files/home
export PATH=$PREFIX/bin:$PATH

LOG_FILE="$PREFIX/var/log/sv/gitea/run.log"

mkdir -p "$(dirname "$LOG_FILE")"

# 确保不创建多实例
pgrep -f "gitea web" >/dev/null && exit 0

# 运行 Gitea
exec gitea web --config "$PREFIX/etc/gitea/app.ini" \
    >"$LOG_FILE" 2>&1

ii. 配置自启动#

sv up gitea
sv status gitea
run: gitea: (pid 14217) 938s

iii. 用户#

head $PREFIX/etc/gitea/app.ini
APP_NAME = {站点名称}
#RUN_USER = u0_a228 手动执行的时候是这个用户 但是配置自动运行的时候用户会变成android 这里需要注意修改
RUN_USER = android
WORK_PATH = /data/data/com.termux/files/usr/var/lib/gitea
RUN_MODE = prod

[repository]
...