博客
关于我
Git常用命令总结
阅读量:449 次
发布时间:2019-03-06

本文共 2534 字,大约阅读时间需要 8 分钟。

Git常用命令总结

Git初始化

git init

初始化一个新的Git仓库,在当前文件夹下创建.git文件夹。

克隆仓库

git clone [url]

从远程Git仓库克隆一个副本,仓库名为克隆后的文件夹名。
若需指定仓库名,可用git clone [url] newname

查看仓库状态

git status

查询当前仓库的状态,查看哪些文件有未追踪或未暂存的改动。
加参数-s可显示简短状态,显示对staging区域和working directory的改动。

查看提交记录

git log

显示仓库的提交历史。
git log --oneline
显示每条提交的简要信息。
git log --graph
以图形形式显示分支合并历史。
git log branchname
查看特定分支的提交记录。
git log --oneline branch1 ^branch2
查看在branch1但不在branch2中的提交。
git log --decorate
显示提交的标签信息。
git log --author=[作者名字]
筛选提交记录按作者查看。
git log --since/--before/--until/--after
按时间范围筛选提交记录。
git log --no-merges
忽略合并提交。
git log --grep=[关键词]
按提交信息过滤日志。默认git log --grep --author为OR逻辑,可用--all-match强制AND逻辑。
git log -S
按新增的代码过滤日志。
git log -p
显示每个提交的代码 diff。

提交代码

git commit

将暂存区中的改动提交到仓库。
git commit -m “commit信息”
指定提交信息。
git commit -a
批量提交已追踪的文件。
git commit --amend
增补当前提交,替换上一次提交。

撤销操作

git reset

取消提交或暂存区的改动。
git reset HEAD
取消所有暂存区的改动。
git reset --soft
将HEAD移动到指定提交,保留暂存区和索引。
git reset --hard
取消所有暂存区和工作目录的改动,将HEAD恢复到指定提交。
git reset --mixed
默认参数,HEAD移动到指定提交,索引和工作树恢复到该状态。

暂时保存改动

git stash

将当前改动压入栈,恢复到上一次提交状态。
git stash list
查看栈中的改动。
git stash apply
应用栈中的改动。
git stash pop
删除栈中的改动并应用。
git stash drop
删除栈中的特定改动。
git stash clear
清空所有栈中的改动。

分支操作

git branch

列出、创建或删除本地分支。
git branch -v
查看分支最后一次提交信息。
git branch
列出本地分支,当前分支以*标记。
git branch (branchname)
创建新分支。
git branch -d (branchname)
删除本地分支。
git push (remote-name):(branch-name)
删除远程分支。
git push [alias] [branch]
将当前分支推送到远程仓库。

切换分支

git checkout

切换到指定分支。
git checkout -b (branchname)
创建并切换到新分支。
git checkout --
替换工作目录中的文件,保留暂存区和新文件。
git checkout --[filename]
替换指定文件,删除未追踪和未暂存的改动。

合并分支

git merge

将一个分支合并到当前分支。
git merge [alias]/[branch]
合并远程分支到当前分支。
解决冲突可用git mergetool,冲突后用git add重新添加改动。

标签管理

git tag

在提交历史上打上标签。
git tag v1.0
在最新提交上打标签。
git tag -a v1.0
创建带有注释的标签。
git tag -a -f v1.0
强制创建标签。
git fetch --tags
获取所有可达标签。
git push --tags
推送所有标签。

远程管理

git remote

管理远程仓库别名。
git remote
列出远程仓库别名。
git remote -v
显示远程仓库地址。
git remote add [alias] [url]
添加远程仓库。
git remote rm [alias]
删除远程仓库。
git remote rename [old-alias] [new-alias]
重命名远程仓库。
git remote set-url [alias] [url]
更新远程仓库地址,可加--push--fetch参数。

获取远程内容

git fetch

从远程仓库获取最新内容。
git fetch [alias]
获取特定远程仓库。
git fetch --all
获取所有远程仓库内容。
git fetch
获取所有尚未检出的远程分支。

推送代码

git push

将工作目录内容推送到远程仓库。
git push [alias] [branch]
推送到指定分支。
git push --set-upstream [alias] [branch]
将本地分支与远程分支关联。
git push --force
强制推送,覆盖远程提交。

reflog管理

git reflog

管理引用日志。
git reflog
显示HEAD引用日志。
git reflog show [ref]
显示指定引用日志。
git reflog expire
清除过期的引用记录。
git reflog delete [ref]
删除指定引用记录。

特殊符号解释

^

表示父提交。
^n
表示第n个父提交。
~n
表示连续n个父提交。

转载地址:http://osqyz.baihongyu.com/

你可能感兴趣的文章
Nodejs process.nextTick() 使用详解
查看>>
NodeJS yarn 或 npm如何切换淘宝或国外镜像源
查看>>
nodejs 中间件理解
查看>>
nodejs 创建HTTP服务器详解
查看>>
nodejs 发起 GET 请求示例和 POST 请求示例
查看>>
NodeJS 导入导出模块的方法( 代码演示 )
查看>>
nodejs 开发websocket 笔记
查看>>
nodejs 的 Buffer 详解
查看>>
NodeJS 的环境变量: 开发环境vs生产环境
查看>>
nodejs 读取xlsx文件内容
查看>>
nodejs 运行CMD命令
查看>>
Nodejs+Express+Mysql实现简单用户管理增删改查
查看>>
nodejs+nginx获取真实ip
查看>>
nodejs-mime类型
查看>>
NodeJs——(11)控制权转移next
查看>>
NodeJS、NPM安装配置步骤(windows版本)
查看>>
NodeJS、NPM安装配置步骤(windows版本)
查看>>
nodejs下的express安装
查看>>
nodejs与javascript中的aes加密
查看>>
nodejs中Express 路由统一设置缓存的小技巧
查看>>