Table of Contents
- Git 操作指南与常见问题
- 1. 项目仓库信息
- 2. 日常更新与提交
- 3. 撤销与修改提交
- 4. 配置提交者信息
- 5. 创建 Gitea 访问令牌
- 6. 将令牌存入 Windows 凭据管理器
- 7. 查看和删除 Windows 凭据
- 8. 常见问题与解决办法
- 8.1 fatal: not a git repository
- 8.2 Authentication failed
- 8.3 fatal: remote origin already exists
- 8.4 Everything up-to-date
- 8.5 push rejected:非快速前进
- 8.6 LF will be replaced by CRLF
- 8.7 Author identity unknown
- 8.8 合并冲突
- 8.9 提交到了 master,但远程是 main
- 8.10 想查看远程地址
- 8.11 文件被其他程序占用
- 9. 推荐日常流程
Git 操作指南与常见问题
本指南面向本项目(spanish-diary)的开发人员,说明日常更新提交、Gitea 令牌、Windows 凭据管理以及常见 Git 问题的处理方法。
1. 项目仓库信息
主仓库:https://git.youzhilian.cn/guoqingshan/spanish-diary.git
Wiki 仓库:https://git.youzhilian.cn/guoqingshan/spanish-diary.wiki.git
主分支:main
项目目录:
C:\Users\Administrator\Documents\Codex\2026-07-30\build-web-apps-plugin-build-web\spanish-diary
执行 Git 操作前,请先进入项目目录:
cd C:\Users\Administrator\Documents\Codex\2026-07-30\build-web-apps-plugin-build-web\spanish-diary
2. 日常更新与提交
2.1 查看状态
git status
M 表示已修改,?? 表示未跟踪的新文件。
2.2 暂存文件
提交全部修改:
git add -A
只提交指定文件:
git add app.js translate.js
2.3 提交
git commit -m "feat: 增加新功能"
常用提交信息前缀:
feat: 新功能
fix: 修复问题
docs: 文档更新
style: 样式调整
refactor: 代码重构
test: 测试
chore: 其他维护
2.4 推送到远程
git push origin main
如果本地分支已经跟踪远程分支,可以直接:
git push
2.5 拉取远程更新
git pull origin main
2.6 查看提交历史
git log --oneline
3. 撤销与修改提交
3.1 撤销暂存
git restore --staged 文件名
3.2 丢弃工作区修改
git restore 文件名
注意:此操作不可恢复,请确认后再执行。
3.3 修改上一次提交信息
git commit --amend -m "新的提交信息"
3.4 撤销最近一次提交但保留修改
git reset --soft HEAD~1
4. 配置提交者信息
4.1 全局配置
git config --global user.name "你的名字"
git config --global user.email "你的邮箱"
4.2 当前仓库配置
git config user.name "guoqingshan"
git config user.email "704299375@qq.com"
4.3 查看当前配置
git config --list
5. 创建 Gitea 访问令牌
-
登录 Gitea 网站。
-
进入右上角用户头像,打开 用户设置。
-
左侧选择 应用。
-
在“生成新的令牌”区域填写令牌名称,例如
spanish-diary-push。 -
根据需要选择权限,推送代码通常需要:
write:repository -
点击 生成令牌。
-
立即复制并保存令牌,关闭页面后将无法再次查看。
令牌格式示例:
cfa2f2cb9a1a01283bae9586cd42fa0518e0a4dc
安全提醒:令牌等同于密码,不要提交到仓库、聊天记录或公开文档中。
6. 将令牌存入 Windows 凭据管理器
6.1 检查 Git 凭据管理器
git config --global credential.helper
正常应显示:
manager
6.2 写入令牌
在 PowerShell 中执行:
$cred = "protocol=https`nhost=git.youzhilian.cn`nusername=guoqingshan`npassword=你的令牌`n"
$cred | git credential approve
执行后,Git Credential Manager 会把令牌加密保存到 Windows 凭据管理器。
6.3 使用干净地址推送
git remote set-url origin https://git.youzhilian.cn/guoqingshan/spanish-diary.git
git push origin main
推送时会自动从凭据管理器读取令牌,不需要把令牌写进 URL。
7. 查看和删除 Windows 凭据
7.1 查看
cmdkey /list | findstr git.youzhilian.cn
也可以查看所有凭据:
cmdkey /list
7.2 删除
cmdkey /delete:git:https://git.youzhilian.cn
删除后,下次推送会要求重新提供用户名和令牌。
8. 常见问题与解决办法
8.1 fatal: not a git repository
原因:当前目录不是 Git 仓库。
解决:
cd C:\Users\Administrator\Documents\Codex\2026-07-30\build-web-apps-plugin-build-web\spanish-diary
git status
8.2 Authentication failed
原因:令牌失效、密码错误或凭据过期。
解决:
git credential approve
重新写入新令牌,或先在 Gitea 中撤销旧令牌并生成新令牌。
8.3 fatal: remote origin already exists
原因:远程地址已经存在。
解决:不要重复添加,改用设置:
git remote set-url origin https://git.youzhilian.cn/guoqingshan/spanish-diary.git
8.4 Everything up-to-date
原因:本地没有新的提交。
解决:先提交再推送:
git add -A
git commit -m "feat: 新提交"
git push origin main
8.5 push rejected:非快速前进
原因:远程分支有新提交,本地落后。
解决:
git pull origin main --rebase
如果出现冲突,解决冲突后继续:
git add -A
git rebase --continue
git push origin main
8.6 LF will be replaced by CRLF
原因:Windows 和 Linux 换行符不同。
解决:可以接受该提示;也可以在仓库根目录添加 .gitattributes:
* text=auto
*.js text eol=lf
*.html text eol=lf
*.css text eol=lf
8.7 Author identity unknown
原因:没有配置用户名和邮箱。
解决:
git config user.name "guoqingshan"
git config user.email "704299375@qq.com"
8.8 合并冲突
原因:两边修改了同一个文件的同一区域。
解决:
-
查看冲突文件:
git status -
手动保留正确内容,删除冲突标记。
-
标记已解决:
git add -A git commit -m "merge: 解决冲突"
8.9 提交到了 master,但远程是 main
解决:
git branch -M main
git push -u origin main
8.10 想查看远程地址
git remote -v
8.11 文件被其他程序占用
Windows 下如果 Git 报文件被占用,先关闭正在编辑该文件的编辑器或开发工具,再重试。
9. 推荐日常流程
cd 项目目录
git pull origin main
git status
# 修改代码
git add -A
git commit -m "feat: 描述本次修改"
git push origin main
每次推送前先拉取,可以减少冲突。