Git & GitHub 学习总结
·
一、Git 命令
1. 仓库初始化与推送
# 重新初始化 Git 仓库(清除所有历史)
rm -rf .git # 删除旧的 .git 文件夹
git init # 重新初始化
git add . # 添加所有文件
git commit -m "Initial commit" # 创建初始提交
# 关联远程仓库
git remote add origin git@github.com:username/repo.git
# 推送代码
git push -u origin main # 普通推送
git push -f origin main # 强制推送(覆盖远程历史)
强制推送的场景:
- 远程仓库有冲突无法直接推送时
- 需要覆盖旧的历史记录时
2. 分支管理
# 查看当前分支
git branch
# 重命名分支(master → main)
git branch -m master main
3. 清理历史记录
方法一:删除特定文件的历史
git filter-branch --force --index-filter \
'git rm --cached --ignore-unmatch *.apk *.jar *.jks' \
--prune-empty -- --all
rm -rf .git/refs/original/
git reflog expire --expire=now --all
git gc --prune=now --aggressive
方法二:完全重置历史(推荐)
rm -rf .git
git init
git add .
git commit -m "Initial commit"
git push -f origin main
二、GitHub 仓库管理
1. 查看仓库成员
- 进入仓库 → Settings → Access
- Direct access:直接授权的成员
- Outside collaborators:外部协作者
2. 添加协作者
- 点击 “Add people”
- 输入 GitHub 用户名或邮箱
- 选择权限级别
3. 权限级别说明
| 权限 | 能力 |
|---|---|
| Read | 查看代码、克隆、创建 Issue、提交 PR |
| Write | 除 Read 外,还能推送代码、创建分支、合并 PR |
| Maintain | 除 Write 外,还能管理 Issues、设置保护分支 |
| Admin | 完全控制,包括删除仓库、管理成员 |
4. 修改/删除成员权限
- 修改权限:点击成员名字进入详情页调整
- 删除成员:点击右侧垃圾桶图标
三、.gitignore 配置
# Android 构建产物
*.apk
*.jar
*.jks
backend/target/
app/build/
# IDE 文件
.idea/
*.iml
.run/
# 环境配置
.env
.mise.local.toml
四、关键知识点
1. Git 历史清理
- 删除工作目录中的文件不会影响 Git 历史
- 需要使用
git filter-branch或重新初始化来彻底清除历史 - 清理后需要强制推送到远程仓库
2. 强制推送的影响
- 会覆盖远程仓库的所有历史记录
- 其他协作者需要重新克隆仓库
- 新克隆的用户看不到旧历史
3. Direct access vs Outside collaborators
- Direct access:组织内部成员,可通过团队管理
- Outside collaborators:外部用户,仅对特定仓库授权
4. SSH 密钥配置
# 生成密钥
ssh-keygen -t ed25519 -C "email@example.com"
# 测试连接
ssh -T git@github.com
五、常见问题解决
问题:推送失败提示 “rejected”
# 原因:远程仓库有冲突内容
# 解决:强制推送覆盖
git push -f origin main
问题:分支名称不匹配
# 原因:本地分支是 master,远程是 main
# 解决:重命名分支
git branch -m master main
git push -f origin main
问题:历史中有大文件
# 解决:清理历史或重新初始化仓库
rm -rf .git
git init
git add .
git commit -m "Initial commit"
git push -f origin main
学习日期:2026年6月9日
更多推荐




所有评论(0)