Git

Saturday, May 22, 2021

配置(config)

显示当前配置

git config -l

设置全局用户名

git config --global user.name "glaumar"

设置全局邮件

git config --global user.email "glaumar2018@outlook.com"

克隆(clone)

克隆仓库到指定目录

git clone remote_repocitory path/to/directory

子仓库(submodule)

添加子仓库

git submodule add remote_repocitory path/to/directory

从远程仓库拉取所有子模块

git submodule update --init --recursive

更新所有子模块

git submodule update --recursive --remote

暂存(staged)

添加文件到暂存区

git add filename

撤销暂存

git restore --staged filename

丢弃对文件的修改

git restore filename

提交(commit)

覆盖上次提交

git commit --amend

分支(branch)

显示所有分支

git branch

创建新分支

git branch branch_name

切换到另一个分支

git checkout branch_name
# or
git switch branch_name

创建并切换到新分支

git checkout -b branch_name

删除分支

git branch -d branch_name

贮藏(stash)

贮藏现场,获得一个干净的工作环境(会保存modified和staged数据,不会保存untracked文件)

git stash

展示所有已贮藏现场

git stash list

恢复最新贮藏的现场(恢复后删除对应stash)

git stash pop

指定要恢复的现场(恢复后不会删除)

git stash apply stash_name

删除所有贮藏

git stash clear

日志(log)

显示前n条提交记录,n是数字

git log -n

显示简要每次提交的简要变化

git log --stat

显示显示简要每次提交的详细变化

git log -p

显示分支变化情况

git log --graph

每条记录之显示一行

git log --oneline

帮助手册(help)

常用命令简介

git help

子命令帮助手册

git help child_command

杂项(Misc)

HTTPS的仓库连接要求输入用户名和密码,修改为SSH连接自动使用SSH私钥验证身份

git remote set-url origin git@github.com:<Username>/<Project>.git

参考:

memogit

YAML

浮点数比较