基础操作

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 初始化 Git 仓库
git init

# 查看当前仓库状态
git status

# 添加所有文件到暂存区
git add .

# 添加指定文件
git add 文件名

# 提交修改
git commit -m "提交说明"

# 修改上一次提交信息
git commit --amend -m "新的提交说明"

远程仓库相关

1
2
3
4
5
6
7
8
9
10
11
# 添加远程仓库
git remote add origin 仓库地址

# 查看远程仓库
git remote -v

# 修改远程仓库地址
git remote set-url origin 新地址

# 删除远程仓库
git remote remove origin

推送与拉取

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 推送到远程仓库
git push origin 分支名

# 强制推送(危险!会覆盖远程)
git push -f origin 分支名

# 从远程拉取并自动合并
git pull

# 拉取指定分支
git pull origin main

# 只获取更新但不合并
git fetch --all

分支管理

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# 查看本地分支
git branch

# 查看所有分支(含远程)
git branch -a

# 创建分支
git branch 分支名

# 切换分支
git checkout 分支名

# 创建并切换到新分支
git checkout -b 新分支名

# 删除本地分支
git branch -d 分支名

# 强制删除本地分支
git branch -D 分支名

# 合并分支到当前分支
git merge 另一个分支名

撤销与回滚

1
2
3
4
5
6
7
8
9
10
11
# 丢弃工作区改动(危险)
git checkout -- 文件名

# 丢弃所有本地修改,恢复到最近提交
git reset --hard HEAD

# 回退到指定 commit
git reset --hard 提交ID

# 回退但保留修改内容
git reset --soft 提交ID

查看日志

1
2
3
4
5
6
7
8
# 查看完整提交日志
git log

# 一行显示(常用)
git log --oneline

# 图形化显示分支
git log --graph --oneline --all

克隆项目

1
2
3
4
5
# HTTPS 克隆
git clone https://github.com/user/repo.git

# SSH 克隆
git clone git@github.com:user/repo.git

暂存(stash)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 暂存当前工作区
git stash

# 查看 stash 列表
git stash list

# 恢复并删除 stash
git stash pop

# 恢复但不删除
git stash apply

# 删除某个 stash
git stash drop stash@{n}

标签(Tag)

1
2
3
4
5
6
7
8
9
10
11
# 创建一个标签
git tag v1.0

# 创建带描述的标签
git tag -a v1.0 -m "版本说明"

# 推送指定标签
git push origin v1.0

# 推送所有标签
git push origin --tags

其他实用命令

1
2
3
4
5
6
7
8
9
10
11
# 查看变更内容
git diff

# 比较暂存区与最后一次提交
git diff --cached

# 删除已追踪文件但保留本地文件
git rm --cached 文件名

# 清理未跟踪文件
git clean -f