Git
教程之命令小抄
转载请注明出处:https://blog.csdn.net/jpch89/article/details/81410075
0. 前言
- 本文
99%
总结自廖雪峰的 Git
教程。 - 另有
1%
来自于个人心得。
1. 创建版本库
命令 | 用途 |
---|
mkdir learngit
cd learngit | 创建并进入空目录 |
git init | 初始化 Git 仓库 |
git add 文件名1 文件名2 ... | 添加文件 |
git add . | 暂存所有更改的文件 |
git commit -m "说明内容" | 提交文件 |
2. 时光穿梭
命令 | 用途 |
---|
git status | 查看当前仓库状态 |
git diff 文件名 | 查看工作区与暂存区之间的改动 如暂存区为空,则查看工作区与版本库上次提交之间的改动 |
git log | 显示提交日志 |
git log --pretty=oneline | 以单行显示提交日志 |
git reset --hard HEAD^ | 返回前一个版本 |
git reset --hard HEAD^^ | 返回前两个版本 |
git reset --hard HEAD~100 | 返回前100个版本 |
git reset --hard 提交号 | 指定回到某个版本号 |
git reflog | 查看命令历史 |
git diff HEAD -- 文件名 | 查看工作区与版本库最新版本之间的区别 |
git checkout -- 文件名 | 丢弃工作区的更改,回到最近一次 git add/commit 时的状态 |
git reset HEAD 文件名 | 把暂存区的修改回退到工作区 |
rm 文件名
git rm/add 文件名
git commit -m "删除文件" | 从版本库删除文件 |
rm 文件名
git checkout -- 文件名 | 从文本库恢复误删的文件 |
3. 远程仓库
命令 | 用途 |
---|
ssh-keygen -t rsa -C "youremail@example.com" | 创建 SSH 秘钥对 |
git remote add origin git@github.com:自己的用户名/仓库名.git | 关联远程库 |
git remote add origin https://github.com/自己的用户名/仓库名.git | 关联远程库 |
git push -u origin master | 第一次推送 master 分支所有内容并关联远程库的 master 分支 |
git push origin master | 推送 master 分支的最新修改 |
git clone git@github.com:自己的用户名/仓库名.git | 克隆远程库到本地(不加 .git 也行) |
git clone https://github.com/自己的用户名/仓库名.git | 克隆远程库到本地 |
4. 分支管理
命令 | 用途 |
---|
git branch | 查看分支 |
git branch 分支名 | 创建分支 |
git checkout 分支名 | 切换分支 |
git checkout -b 分支名 | 创建并切换分支 |
git merge 分支名 | 合并分支名到当前分支 |
git branch -d 分支名 | 删除分支 |
git log --graph --pretty=oneline -abbrev-commit | 查看分支合并情况 |
git merge --no-f -m "提交说明" 分支名 | 非快进模式合并分支 |
git stash | 储存工作区 |
git stash list | 查看工作区储存列表 |
git stash apply
git stash drop | 恢复工作区 删除储存内容 |
git stash apply stash@{数字}
git stash drop stash@{数字} | 从指定储存恢复工作区并删除储存内容 |
git stash pop | 恢复储存内容并同时删除 |
git branch -D 分支名 | 强行删除没有合并过的分支 |
git remote | 查看远程库的信息 |
git remote -v | 查看远程库的详细信息 |
git push origin 分支名 | 推送分支 |
git checkout -b 分支名 origin/分支名 | 创建分支到本地 |
git branch --set-upstream-to=origin/分支名 分支名 | 指定本地分支与远程分支的链接 |
git pull | 抓取远程最新提交 |
git rebase | 变基,把本地未 push 的分叉提交历史整理成直线 |
5. 标签管理
命令 | 用途 |
---|
git tag 标签名 | 在当前分支的最新提交上打标签 |
git tag 标签名 提交号 | 给指定的提交号打标签 |
git tag | 查看所有标签名 |
git show 标签名 | 查看标签详情 |
git tag -a 标签名 -m "标签说明" | 创建带有说明的标签 |
git push origin 标签名 | 推送本地标签 |
git push origin --tags | 推送全部未推送的本地标签 |
git tag -d 标签名 | 删除本地标签 |
git tag -d 标签名
git push origin :refs/tags/标签名 | 删除远程标签 |
6. 使用码云
命令 | 用途 |
---|
git remote rm origin | 删除 origin 远程库 |
git remote add github git@github.com:用户名/仓库名.git | 添加 GitHub 远程库 |
git remote add gitee git@gitee.com:用户名/仓库名.git | 添加 Gitee 远程库 |
git push github master | 推送到 GitHub |
git push gitee master | 推送到 Gitee |
7. 自定义 Git
命令 | 用途 |
---|
git config --global color.ui true | 让 Git 显示颜色 |
git add -f 文件名 | 强制添加文件 |
git check-ignore -v 文件名 | 查看文件在第几行被 .ignore 忽略 |
git config --global alias.st status | 用 st 代替 status |
git config --global alias.co checkout | 用 co 代替 checkout |
git config --global alias.ci commit | 用 ci 代替 commit |
git config --global alias.br branch | 用 br 代替 branch |
git config --global alias.unstage 'reset HEAD' | 撤销暂存区修改用 git unstage 文件名 即可 |
git config --global alias.last 'log -1' | 用 git last 显示最近一次的提交 |
git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit" | 用 git lg 显示提交日志 |
当前仓库下的 .git/config 文件 | 当前仓库的配置文件 |
用户主目录下的 .gitconfig 文件 | 当前用户的配置文件 |
8. 常用 Git
命令速查表
2018.08.16
第一次修订
2019.01.17
第二次修订
2019.03.06
第三次修订:增加常用 Git 命令速查表