Summer1Solstice

目录

1. 开始一个项目

1.1 初始化

git init

1.2 克隆

git clone <url> <dir>

1.2.1 浅克隆

git clone --depth=1 <url>

1.2.2 稀疏检出

git clone --filter=blob:none --sparse <url>
1.2.2.1 设置检出的文件/路径
git sparse-checkout add dir1/ dir2/subdir/ # 可以指定多个目录
1.2.2.2 查看当前稀疏检出规则
git sparse-checkout list
1.2.2.3 禁用稀疏检出(恢复完整检出)
git sparse-checkout disable
1.2.2.4 同步上游更新
git fetch origin && git rebase origin/master

浅克隆同步上游更新

#浅克隆
git fetch origin --depth=1 && git reset --hard origin/main

2. 基础操作

2.1 添加

git add <file_neme/dir>

2.1.1 添加被忽略的文件

git add --force <file_neme/dir>    #添加被忽略的文件

2.2 提交

git commit -m "提交说明"

2.2.1 自动暂存已跟踪文件

git commit -am "提交说明"

2.2.2 修改最后一次提交(补充变更 / 修正提交说明)

git commit --amend -m "提交说明"

2.3 状态

git status

2.3.1 简短格式

git status -s

2.4 恢复

git restore

2.4.1 恢复被修改的跟踪文件

git restore <file_name> #操作不可逆

2.4.2 取消暂存

git restore --staged <file_name>

2.4.3 从指定版本恢复文件

# 从指定版本恢复文件到工作区(不修改暂存区)
git restore --source=<tree> <file_name>

2.4.4 恢复到工作区

git restore --worktree <file_name>

2.4.5 恢复到暂存区

git restore --staged <file_name>

2.5 重置

2.5.1 移动 HEAD 指针

git reset --soft HEAD    #不修改暂存区、不修改工作区

2.5.2 重置暂存区(与 HEAD 保持一致)

git reset --mixed HEAD    #(与 HEAD 保持一致)

2.5.3 重置暂存区和工作区(与 HEAD 保持一致)

git reset --hard HEAD    #不可逆,谨慎操作

3. 分支

4. 拉取

4.1 从远程下载并合并

git pull origin master

4.2 从远程下载更新

git fetch origin

4.3 合并远程更新到本地

git merge origin/master

5. 推送

5.1 推送到远程

git push origin master

5.2 强制推送

git push --force origin master