Git 速查表
1. Git 配置
- Git config 获取和设置控制Git外观和操作的各种配置变量。
设置名字:
$ git config --global user.name "用户名"
设置邮箱:
$ git config --global user.email "邮箱"
设置默认编辑器:
$ git config --global core.editor Vim
检查设置:
$ git config -list
- Git alias 为每个命令设置别名:
创建别名:
$ git config --global alias.co checkout
$ git config --global alias.br branch
$ git config --global alias.ci commit
$ git config --global alias.st status
2. 开始一个项目
- Git init 在本地创建一个新仓库: 创建本地仓库:
$ git init <仓库名称>
- Git clone 从服务器克隆一个本地副本: 克隆服务器仓库:
$ git clone <远程URL>
3. 本地变更
- Git add 将文件添加到暂存(Index)区:
添加单个文件:
$ git add 文件名
添加仓库所有文件:
$ git add *
- Git commit 按照消息永久记录文件的更改历史:
带消息的记录:
$ git commit -m "提交信息"
4. 跟踪变更
- Git diff 跟踪尚未暂存的更改:
跟踪未暂存的更改:
$ git diff
跟踪已暂存但未提交的更改:
$ git diff --staged
跟踪提交后的更改:
$ git diff HEAD
跟踪两次提交之间的更改:
$ git diff <提交1-SHA> <提交2-SHA>
跟踪不同分支之间的更改:
$ git diff <分支1> <分支2>
- Git status 显示工作目录和暂存区的状态:
显示状态:
$ git status
- Git show 显示对象:
显示对象:
$ git show <选项><对象>
5. 提交历史
- Git日志 :
显示最近的提交和头的状态:
$ git log
以每行显示一个提交的输出:
$ git log -oneline
显示已修改的文件:
$ git log -stat
显示带有位置的修改文件:
$ git log -p
- Git blame :
显示文件每行的修改:
$ git blame<文件名>
6. 忽略文件
- .gitignore :
指定Git应忽略的意图上未跟踪的文件。
创建.gitignore:
$ touch .gitignore
列出被忽略的文件:
$ git ls-files -i --exclude-standard
7. 分支
- Git分支 :
创建分支:
$ git branch
列出分支:
$ git branch --list
删除分支:
$ git branch -d
删除远程分支:
$ git push origin -delete
重命名分支:
$ git branch -m
- Git切换 :在仓库中切换分支。
切换到特定的分支:
$ git checkout
创建新分支并切换到它:
$ git checkout -b
检出远程分支:
$ git checkout
- Git储藏 :在不提交当前分支的情况下切换分支。
储藏当前工作:
$ git stash
带有消息保存储藏:
$ git stash save " "
查看存储的储藏:
$ git stash list
重新应用刚刚储藏的更改:
$ git stash apply
跟踪储藏和其更改:
$ git stash show
重新应用以前的提交:
$ git stash pop
从队列中删除最新的储藏:
$ git stash drop
一次性删除所有可用的储藏:
$ git stash clear
在单独的分支上储藏工作:
$ git stash branch
- Git cherry-pick :
应用某个存在的提交引入的更改:
$ git cherry-pick
8. 合并
- Git合并(merge)
将分支合并:
$ git merge
将指定的提交合并到当前活动的分支:
$ git merge
- Git变基(rebase)
将来自不同分支的一系列提交应用到最终提交中。
$ git rebase
继续变基过程:
$ git rebase -continue
中止变基过程:
$ git rebase --skip
- Git交互式变基(interactive rebase)
允许对现有提交进行编辑、重新编写、重新排序等各种操作。
$ git rebase -i
9. 远程操作
- Git远程(remote)
检查远程服务器的配置:
$ git remote -v
为仓库添加远程服务器:
$ git remote add
从远程服务器获取数据:
$ git fetch
从仓库删除远程连接:
$ git remote rm
重命名远程服务器:
$ git remote rename
显示特定远程服务器的附加信息:
$ git remote show
更改远程服务器:
$ git remote set-url
- Git推送(origin master)
将数据推送到远程服务器:
$ git push origin master
从远程服务器拉取数据:
$ git pull origin master
10. 提交更新
- Git推送(push) 将本地仓库中的提交推送到远程服务器。
推送数据到远程服务器:
$ git push origin master
强制推送数据:
$ git push -f
使用推送命令删除远程分支:
$ git push origin -delete edited
11. 拉取更新
- Git拉取(pull) 从服务器拉取数据:
$ git pull origin master 拉取远程分支:
$ git pull
- Git获取(fetch)
从一个或多个仓库下载分支和标签。获取远程仓库:
$ git fetch< repository Url>
获取特定分支:
$ git fetch
同时获取所有分支:
$ git fetch -all
同步本地仓库:
$ git fetch origin
12. 撤销更改
- Git撤销(revert) 撤消更改:
$ git revert 撤销特定提交:
$ git revert
- Git重置(reset) 重置更改:
$ git reset -hard $ git reset -soft: $ git reset --mixed
13. 删除文件
- Git rm 从工作树和索引中删除文件:
$ git rm <文件名>
从 Git 中删除文件,但保留在本地仓库中的文件:
$ git rm --cached