头像

Git 常用命令

生成 SSH keys

1
2
3
4
5
# 查看 SSH keys 是否存在
ls -al ~/.ssh

# 生成新的 SSH key
ssh-keygen -t rsa -C "rocco.mormont@gmail.com"

查看/修改用户信息

1
2
3
4
5
6
7
# 查看
git config user.name
git config user.email

#修改
git config --global user.name "rocco"
git config --global user.email "rocco.mormont@gmail.com"

查看/创建/切换 分支

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 查看本地分支
git branch

# 查看本地和远程分支
git branch -a

# 新建分支
git branch <branchName>

# 切换分支
git checkout <branchName>

# 新建并切换至新建的分支
git checkout -b <branchName>

删除分支

1
2
3
4
5
6
7
8
9
10
11
# 删除本地的某个分支
git branch -D <branchName>

# 删除远程的分支
git branch -r -d origin/<branchName>
git push origin :<branchName>

# 解释:
# git branch -r -d origin/<branchName> 只是删除本地的索引,而不是真正删除远程分支的内容
# 要想真正删除远程分支上的内容,把一个空分支 push 到 server 上,等于删除该分支,git push origin :<branchName>
# 注意:冒号前面的空格不能少

撤销提交(复位)

1
2
3
4
5
# 该命令撤消上一个commit,但保留add的文件,Git 会暂存所有的因复位带来的差异,但不提交它们
git reset --soft HEAD^

# 强制复位前一个提交
git reset --hard HEAD^

参考:

  1. Git 撤销提交和修改相关操作

清空当前分支

1
2
3
4
5
6
7
8
9
10
# 清空当前分支
# 注意不要遗漏 -r 后面的 .
git rm --cached -r .
git clean -f -d

# 创建空的 commit
git commit --allow-empty -m "[empty] initial commit"

# 推送空分支
git push

新建空分支

1
2
3
4
5
6
7
8
9
10
11
# 新建空分支
# 注意不要遗漏 -r 后面的 .
git branch -b <new_branch>
git rm --cached -r .
git clean -f -d

# 创建空的 commit
git commit --allow-empty -m "[empty] initial commit"

# 推送空分支
git push origin <new_branch>