git命令大全:
https://github.com/xjh22222228/git-manual
检索 | 命令 | 含义 | 备注 |
---|---|---|---|
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 |
切换分支 | ||
git checkout -b |
创建并切换分支 | ||
push 推送远程 |
git push | 推送本地仓储库到远程(下同) | |
git push |
例子:git push origin master origin:原项目地址 master:分支名 |
origin 远端仓库的别名,其真正的地址可以通过git remote获取 |
|
git push origin dev:dev | 例子,当前dev分支推送到远程dev分支 | ||
remote 原项目地址 |
git remote -v | 查看远程仓库。获取原项目地址,可以改名。 | 得到“地址名:地址”的形式 |
git remote add |
|||
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之间的差异 | ||
branch 分支 |
git branch | 查看分支 | 分支:多人开发,协作和管理 平行时空、并行开发 |
git branch |
创建分支 | name表示分支名 | |
git branch —set-upstream-to=origin/master master | 将远端master分支和本地master 分支建立联系 | 上述错时用 |
|
git checkout |
切换分支 | ||
git checkout -b |
创建并切换分支 | ||
git branch -d |
删除本地分支 | ||
git push -d |
删除远程分支 | ||
推送本地分支到远程 | |||
合并 merge |
git merge 要合并的分支 | 在master分支下输入这个命令,则将dev分支合并到master分支上。 | |
fetch | git fetch | 从远程分支上拉取代码,直接与本地仓库合并,有冲突需要手动改 | |
pull 拉取 |
git pull origin master | 从原项目地址的master分支上拉取代码,直接与本地仓库合并,有冲突需要手动改 | git pull = git fetch + git merge 来自 [https://www.cnblogs.com/runnerjack/p/9342362.html](https://www.cnblogs.com/runnerjack/p/9342362.html) |
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 |
展示具体命令说明手册 | ||
其他奇技 | |||
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 dev20181018 删除本地分支: git branch -d dev20181018 把当前分支强制提交到远程:$ git push -f origin currentBranch |
---|