Git 命令
常用命令
一般命令
命令详情
#在当前目录初始化本地仓库,生成一个'.git'文件
git init
# Git一共有三种级别的配置文件
# 分别为仓库级、全局、系统级
# 仓库级:优先级最高
在当前仓库的`.git`目录下,文件名为`config`,只对当前仓库有效.
# 全局:优先级中等
# 1. windows下,在'C:\Users\[用户名]\'目录下,名称为'.gitconfig'
# 2. Linux 下,在'~\'目录下,名称为'.gitconfig'
# 系统级:优先级最低
# 1. windows下,在Git安装目录的'etc/'下,名称为'gitconfig'
# 2. Linux 下,在'/etc/'下,名为'gitconfig'
# 编辑本地仓库配置
git config --local -e
# 或者
git config --local <key> <value>
# 编辑全局或系统级配置文件
git config --global|--system -e
# 或者
git config --global|--system <key> <value>
# 修改默认文本编辑器
git config --local core.editor vim
# 克隆一个远程到本地
git clone <远程仓库地址>
# 克隆一个远程仓库,并放到指定目录下
git clone <远程仓库地址> <存放仓库目录>
# 克隆一个指定分支的仓库,默认是master分支
git clone <远程分支地址> -b <分支名称> <存放仓库目录>
# 查看本地仓库状态
git status
# 以简短形式查看本地仓库状态,默认是long
# 会显示两列
# 第一列是文件状态,M 表示 Modify ,A 表示 ADD, D 表示 Delete ,?? 表示未添加在Git追踪中。
# 第二列是对应的文件名称
git status -s|--short
# 查看本地远程库
git remote
# 列出远程库详细信息
git remote -v
# 添加远程库
git remote add <自定义库别名> <远程库地址>
# 删除远程库
git remote remove <库别名>
# 修改远程库别名
git remote rename <原库别名> <新库别名>
# 修改远程库地址
git remote set-url <库别名> <新的地址>
# 列出所有分支,当前所在分支以'*'标出
git branch
# 创建新分支,新的分支基于上一次提交
git branch <新分支名>
# 删除分支
git branch -d <分支名>
# 强制删除
git branch -D <分支名>
# 删除远程分支
git branch -r -d <分支名>
# 修改分支名
git branch -m [原分支名] <新分支名>
# 强制修改分支名
git branch -M [原分支名] <新分支名>
# 切换分支
git checkout <分支名称>
# 合并分支记录
git cherry-pick <commit ID>
# 将文件添加到缓存区
git add <文件>
# 添加所有修改、已删除的文件到缓存区
git add -u [<文件>]
git add --update [<文件>]
# 添加所有修改、已删除、新增的文件到缓存区
git add -A [<文件路径>]
git add --all [<文件路径>]
# 提交缓存区指定文件至本仓库,随后打开编辑器,添加描述,必须添加。
git commit <文件>
# 提交所有修改后的文件到本地仓库
git commit -a
# 提交文件至本地仓库,并添加描述
git commit <文件> -m '描述'
# 修改上次提交的描述信息
git commit --amend
# 获取远程库所有分支最新版本
git fetch <地址别名>
# 获取远程库指定分支最新版本
git fetch <地址别名> <分支名>
# 合并指定分支到当前分支
git merga <指定分支>
# 显示当前文件与缓存区中的文件差异
git diff
# 查看指定版本之后的改动
git diff <commit id>
# 比较两个分支之间的差异
git diff <分支一> <分支二>
# 拉取远程分支到本地,默认master
git pull
# 拉取远程指定分支到本地
git pull <地址别名> <分支名>
# 推送本地仓库到远程
git push <地址别名> <本地分支名>:<远程分支名>
# 删除指定的远程仓库的分支
git push <地址别名> :<远程分支名>
git push <地址别名> --delete <远程分支名>
# 查看所有提交记录
git log
# 查看指定数量提交记录
git log -<数量>
# 重置缓存区,取消 add 指令添加的文件
# 重置所有
git reset
# 指定文件重置
git reset <文件>
# 重置到指定提交记录,文件不会被修改
git reset <commit id>
# 重置到指定提交记录,并修改文件
git reset --hard <commit id>
# 生成一个新的提交来替换某一个提交
git revert <commit id>
# 标签相当于一个 commit 的别名
# 打印所有标签
git tag
# 添加标签到指定提交对象
git tag <标签> [<commit id>]
# 添加标签描述
git tag <标签> -m <描述信息> [<commit id>]
# 切换到指定tag的 commit
git checkout <标签>
# 查看标签信息
git show <标签>
# 提交指定标签到远程库
git push <仓库地址> <标签>
# 提交所有标签
git push <仓库地址> --tags
# 重命名指定文件或者文件夹
git mv <文件/文件夹> <文件/文件夹>
# 移除跟踪指定文件,并在本地仓库中
git rm <文件>
# 移除跟踪指定文件夹,并在本地仓库中
git rm -r <文件夹>