Git 教程之命令小抄
编程语言
2018-08-16 22:00:54
阅读次数: 0
Git
教程之命令小抄
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 "[email protected]" |
创建 SSH 秘钥对 |
git remote add origin [email protected]:自己的用户名/仓库名.git |
关联远程库 |
git remote add origin https://github.com/自己的用户名/仓库名.git |
关联远程库 |
git push -u origin master |
第一次推送 master 分支所有内容并关联远程库的 master 分支 |
git push origin master |
推送 master 分支的最新修改 |
git clone [email protected]:自己的用户名/仓库名.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 [email protected]:用户名/仓库名.git |
添加 GitHub 远程库 |
git remote add gitee [email protected]:用户名/仓库名.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 文件 |
当前用户的配置文件 |
2018.08.16
第一次修订
转载自blog.csdn.net/jpch89/article/details/81410075