常用命令索引表
检索 |
命令 |
含义 |
备注 |
init 初始化 |
git init |
初始化一个本地仓库 |
|
clone 克隆 |
git clone SSH地址 |
创建远程仓库后用git bash 克隆下来 |
|
add 添加 |
git add XX文件 |
就是把工作区的代码放到暂存区 |
本次存放XX文件 |
git add . |
把工作区的所有代码放到暂存区 |
|
|
commit 提交 |
git commit -m '备注' |
提交一次版本,到本地仓库 |
-m和备注信息每次都填上,不然会弹窗让你填表写。 |
config 配置 |
git config --list |
查询当前配置信息列表 |
在当前项目下查看的是全局配置+当前项目的配置 |
status 状态 |
git status |
查看当前文件的状态 |
untracked、staged、modified、committed |
log 日志 |
git log |
查看提交的版本记录(详细信息) |
|
git log xx.文件 |
查看某个文件的日志 |
|
|
reflog 信息 |
git reflog |
检索版本(简化版)当前仓库的历史信息、历史版本 |
head指向当前版本 |
checkout 撤销 |
git checkout -- xx.文件 |
撤销xx文件的上一步操作(花式撤销) |
|
git checkout <name> |
切换分支 |
|
|
git checkout -b <name> |
创建并切换分支 |
|
|
push 推送远程 |
git push |
推送本地仓储库到远程(下同) |
|
git push <remote> <branch> |
例子:git push origin master origin:原项目地址 master:分支名 |
origin 远端仓库的别名,其真正的地址可以通过git remote获取 |
|
git push origin dev:dev |
例子,当前dev分支推送到远程dev分支 |
|
|
remote 原项目地址 |
git remote -v |
查看远程仓库。获取原项目地址,可以改名。 |
得到“地址名:地址”的形式 |
git remote add <name> <remote> |
|
|
|
|
|
|
|
reset 回退 |
git reset --mixed HEAD~1 |
--mixed是默认,可以不写。 回到暂存区 |
--mixed表示只回退部分,包括HEAD,index。 |
git reset --soft HEAD~1 |
只回退到HEAD 回到工作区 |
|
|
git reset --hard HEAD |
版本回滚到当前HEAD指向的版本
|
--hard表示回滚版本的三区一致(强制版本) |
|
git reset --hard HEAD^ |
HEAD后边填一个尖角号,向前回滚一个版本,2个^就回滚两个版本。类推 |
|
|
git reset --hard HEAD~num |
num表示回滚的对应版本个数 |
|
|
git reset --hard 版本号 |
回滚到对应版本 |
版本号如下边图片中ceb1746 |
|
|
注意,回退完了以后,远程没改,只是 |
本地改了。所以还需要git push -f |
强制改远程 |
diff 比较 |
git diff |
差异比较,找出几次代码的不同 如果为空就是相同的。 |
diff算法就是找不同。 |
git diff HEAD |
比较工作区与本地版本库中最近一次commit的内容 |
|
|
git diff --cached |
比较暂存区与本地版本库中最近一次commit的内容 |
|
|
git diff <commit-id> <commit-id> |
比较两个commit之间的差异 |
|
|
branch 分支 |
git branch |
查看分支 |
分支:多人开发,协作和管理 平行时空、并行开发 |
git branch <name> |
创建分支 |
name表示分支名 |
|
git branch --set-upstream-to=origin/master master |
将远端master分支和本地master 分支建立联系 |
上述错时用 |
|
git checkout <name> |
切换分支 |
|
|
git checkout -b <name> |
创建并切换分支 |
|
|
git branch -d <name> |
删除本地分支 |
|
|
git push -d <origin> <branch> |
删除远程分支 |
|
|
|
推送本地分支到远程 |
|
|
合并 merge |
git merge 要合并的分支 |
在master分支下输入这个命令,则将dev分支合并到master分支上。 |
|
fetch |
git fetch |
从远程分支上拉取代码,直接与本地仓库合并,有冲突需要手动改 |
|
pull 拉取 |
git pull origin master |
从原项目地址的master分支上拉取代码,直接与本地仓库合并,有冲突需要手动改 |
git pull = git fetch + git merge |
git pull origin master --allow-unrelated-histories |
本地仓库和远程仓库是独立的两个仓库。在pull命令后紧接着使用--allow-unrelated-history选项来解决问题(该选项可以合并两个独立启动仓库的历史) |
出现下列错误时使用: fatal: refusing to merge unrelated histories (拒绝合并不相关的历史) |
|
help 帮助 |
git help git --help |
展示git命令大纲及常用命令 |
|
git help -a |
展示git命令大纲及全部命令列表 |
|
|
git help <command> |
展示具体命令说明手册 |
|
|
|
|
|
|
其他奇技 |
|
|
|
stash列表 |
git stash save -a "messeag" |
添加改动到stash |
|
git stash list |
查看stash列表 |
|
|
gitstash pop <stash@{id}> |
恢复改动 |
|
|
删除 stash |
git stash drop <stash@{id}> |
删除暂存 |
|
git stash clear |
删除全部暂存 |
|
删除远端分支和本地分支
删除远程分支:git push origin --delete dev 删除本地分支: git branch -d dev 把当前分支强制提交到远程:$ git push -f origin currentBranch
|