Git帮助
Buzzing

撤销 commit

git log 查看状态

不撤销代码修改

使用 git reset --soft HEAD^

  • HEAD^ 表示上一个版本,与 HEAD~1 同义
  • 默认参数 --mixed 同时撤销 git add . 操作,不撤销修改代码

撤销 commit 且撤销代码修改

使用 git reset --hard HEAD^

  • 自上次提交以来的未提交的修改将被删除,直接回滚到上次提交时的状态

代理

HTTP

1
2
git config --global http.proxy "http://127.0.0.1:7890"
git config --global https.proxy "http://127.0.0.1:7890"

sock5

1
2
git config --global http.proxy "socks5://127.0.0.1:1080"
git config --global https.proxy "socks5://127.0.0.1:1080"

取消设置

1
2
git config --global --unset http.proxy
git config --global --unset https.proxy

仅为项目配置可以去掉 --global

配置与生成密钥

配置用户名和邮箱

1
2
git config --global user.name "USER_NAME"
git confit --global user.email "[email protected]"

生成 SSH 公私钥

1
ssh-keygen -t ed25519 -C "[email protected]"
  • t 生成密钥的类型
  • C 密钥注解

计算公钥哈希

1
2
3
4
# 默认计算 SHA256
ssh-keygen -lf xxx.pub
# 计算 md5
ssh-keygen -E md5 -lf xxx.pub

SSH 配置文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
Host github.com
HostName github.com
User USER_NAME
IdentityFile ~/.ssh/github_ed25519
IdentitiesOnly yes

# 对于使用 ssh-rsa 算法认证的主机,需要加上两行
Host git.code.tencent.com
HostKeyAlgorithms +ssh-rsa
PubkeyAcceptedKeyTypes +ssh-rsa
HostName git.code.tencent.com
User USER_NAME
IdentityFile ~/.ssh/tencent_rsa
IdentitiesOnly yes

添加远程仓库,合并远程分支至当前

将远程仓库 B 的分支 b 拉取并合并到现有仓库 A 的分支 a 上:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 添加远程仓库 B
git remote add B <B_Repo_URL>

# 拉取远程仓库 B 的分支信息
git fetch B

# 切换到本地分支 a
git checkout a

# 合并远程分支 b 到本分支
git merge B/b

# 处理冲突
git add <冲突文件>
git merge --continue

# 推送
git push origin a

关联账户,用户名与邮箱

使用全局配置

1
2
git config --global user.name GITHUB_USER_NAME
git config --global user.email EMAIL_ADDR

针对当前项目

1
2
git config user.name GITHUB_USER_NAME
git config user.email EMAIL_ADDR

查看

1
2
3
4
5
# 全局
git config --global --list

# 项目
git config --list

项目配置会覆盖全局配置

标签

标签分类

**轻量标签:**指向一个特定提交的引用,不会存储任何额外信息

1
2
3
4
5
# 创建方法
git tag {标签名} {提交ID}

# 例如:创建一个指向最新提交的轻量标签
git tag v1.0.0

**附注标签:**存储在 Git 数据库中的一个完整对象,包含标签名、标签信息等

1
2
3
4
5
# 创建方法
git tag -a {标签名} -m "{标签信息}" {提交ID}

# 例如
git tag -a v1.0.0 -m "Release version 1.0.0" HEAD

查看标签

1
2
3
4
5
# 查看项目中的所有标签
git tag

# 查看某个具体标签的信息
git show {标签名}

推送标签

默认情况下,git push 不会将标签推送到远程服务器

1
2
3
4
5
# 推送指定标签
git push origin {标签名}

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

删除标签

1
2
3
4
5
6
7
# 删除本地标签
git tag -d {标签名}

# 删除远程标签
git push origin :refs/tags/{标签名}
# 或
git push origin --delete {标签名}
由 Hexo 驱动 & 主题 Keep
本站由 提供部署服务