Git学习总结(10)——git 常用命令汇总
1.git 基本概念:
- 工作区:改动(增删文件和内容)
- 暂存区:输入命令:git add 改动的文件名,此次改动就放到了‘暂存区’(新增的文件)
- 本地仓库(简称:本地):输入命令:git commit 此次修改的描述,此次改动就放到了’本地仓库’,每个commit,我叫它为一个‘版本’。
- 远程仓库(简称:远程):输入命令:git push 推送到远程仓库,此次改动就放到了‘远程仓库’ git pull 拉去远程仓库
- commit-id:输出命令:git log,最上面那行commit xxxxxx,后面的字符串就是commit-id
2.工作区和暂存区的常用命令:
- 展示工作区和暂存区的不同(输出工作区和暂存区的different(不同)。)
- git diff
- 还可以展示本地仓库中任意两个commit之间的文件变动:
- git diff <commit-id>
<commit-id> - 两个分支的差异:
- git diff <branch
a> <branch b> - 放弃工作区的修改
- git checkout <file-name>
- 放弃所有修改:
- git checkout .
- 强制删除untracked的文件
- git clean <file-name>
-f - 强制删除untracked的目录
- git clean <directory-name>
-df - 展示所有tracked的文件
- git ls-files -t
- 展示所有untracked的文件
- git ls-files --others
3.有关commit的一些常用命令:
- 查看commit历史
- git log
- 重设第一个commit(也就是把所有的改动都重新放回工作区,并清空所有的commit,这样就可以重新提交第一个commit了)
- git update-ref
-d HEAD - 回到某个commit的状态,并删除后面的commit (但不丢弃更改)
- git reset <commit-id>
- 回到某个commit的状态(丢弃更改)
- git reset —hard
<commit-id> - 修改上一个commit的描述
- git commit --amend
- 展示简化的commit历史
- git log --pretty=oneline
--graph --decorate --all - 在commit log中查找相关内容
- git log --all --grep='<text>'
- commit历史中显示Branch1有的,但是Branch2没有commit
- git log Branch1
^Branch2
4.关于分支管理的一些常用命令:
- 快速切换分支
- git checkout -
- 创建并切换到该分支
- git checkout -b
<branch-name> - 查看本地分支:
- git branch
- 查看所有分支
- git branch -a
- 重命名本地分支:
- git branch -m <branch-oldName>
<branch-newName> - 删除远程分支
- git push origin
--delete <remote-branchname> - git push origin
:<remote-branchname> - 关联远程分支(关联之后,git branch -vv就可以展示关联的远程分支名了,同时推送到远程仓库直接:git push,不需要指定远程仓库了。)
- git branch -u origin/mybranch
- 展示任意分支某一文件的内容
- git show <branch-name>:<file-name>
- 新建并切换到新分支上,同时这个分支没有任何commit
- git checkout --orphan
<branch-name>
5.关于git中标签的一些常用命令:
- tag就像是一个里程碑一个标志一个点,branch是一个新的征程一条线;
- tag是静态的,branch要向前走;
- 稳定版本备份用tag,新功能多人开发用branch。
- 查看标签
- git tag
- 本地创建标签
- git tag <version-number>
- 默认tag是打在最近的一次commit上,如果需要指定commit打tag:
- git tag -a <version-number>
-m "v1.0 发布(描述)" <commit-id> - 推送标签到远程仓库(首先要保证本地创建好了标签才可以推送标签到远程仓库)
- git push origin
<local-version-number> - 删除本地标签
- git tag -d <tag-name>
- 删除远程标签(删除远程标签需要先删除本地标签,再执行下面的命令)
- git push origin
:refs/tags/<tag-name>
6.关于git中stash的一些常用命令:
- 存储当前的修改,但不用提交commit
- git stash
- 保存当前状态,包括untracked的文件
- git stash -u
- 展示所有stashes
- git stash list
- 回到某个stash的状态
- git stash apply
<stash@{n}> - 回到最后一个stash的状态,并删除这个stash
- git stash pop
- 删除所有的stash
- git stash clear
- 从stash中拿出某个文件的修改
- git checkout <stash@{n}>
-- <file-path>
Git学习总结(10)——git 常用命令汇总的更多相关文章
- Git的使用流程及常用命令汇总
Git是一个很好用的版本控制系统,本文对于常用的一些命令进行了汇总. 创建一个存储仓库(repository) https://github.com/右上角点击"+"号,New r ...
- Git笔记:Git介绍和常用命令汇总
Git 是一个开源的分布式版本控制系统,与 CVS, Subversion 等不同,它采用了分布式版本库的方式,不需要服务器端软件支持. 工作流程 Git 的工作流程大致如下: 克隆 Git 资源作为 ...
- Git深入浅出使用教程:Git安装、远程控制、常用命令(全)
一.软件安装 1.先安装[Git-2.24.1.2-64-bit.exe]软件.(官网下载的很慢,可以在百度云盘下载我的) 链接:https://pan.baidu.com/s/1uoIS9DWSBp ...
- 20145222《信息安全系统设计基础》Linux常用命令汇总
学习Linux时常用命令汇总 通过Ctrl+f键可在该网页搜索到你想要的命令. Linux中命令格式为:command [options] [arguments] //中括号代表是可选的,即有些命令不 ...
- Oozie命令行常用命令汇总[转]
Oozie命令行常用命令汇总 有时候脚本跑多了就不愿意在OozieWeb端去看脚本的运行情况了.还好Oozie提供了很多命令行命令.能通过命令行直接检索自己想看到的脚本信息.在这里简单进行一下总结.一 ...
- vim常用命令汇总
vim常用命令汇总: http://www.cnblogs.com/softwaretesting/archive/2011/07/12/2104435.html 定位 本行第一个字符 ctrl+$ ...
- 【Linux】Linux 常用命令汇总
查看软件xxx安装内容:dpkg -L xxx 查找软件库中的软件:apt-cache search 正则表达式 查找软件库中的软件:aptitude search 软件包 查找文件属于哪个包:dpk ...
- [svc][op]vim常用命令汇总
vim常用命令汇总: 定位 本行第一个字符 ctrl+$ 本行最后一个字符 0gg 文章首行 ctrl+G 文章行尾 u 撤销(Undo) 删除 D 从当前位置删除到行尾 ("d$" ...
- Git学习系列之Git基本操作拉取项目(图文详解)
前面博客 Git学习系列之Git基本操作推送项目(图文详解) 当然,如果多人协作,或者多个客户端进行修改,那么我们还要拉取(Pull ... )别人推送到在线仓库的内容下来. 大神们是不推荐使用 pu ...
随机推荐
- poj 2139 flord水题
读懂题意就简单了 #include<stdio.h> #define inf 999999999 #define N 310 int f[N]; int map[N][N]; int ma ...
- Eclipse中项目去除Js验证
删除项目.project文件中的 <buildCommand> <name>org.eclipse.wst.jsdt.core.javascriptValidator< ...
- C++异常与析构函数及构造函数
析构函数不要抛出异常. 构造函数可以抛出异常,但是要谨慎. 原因下面这篇文章讲的不错,转载如下: http://jarfield.iteye.com/blog/811703 写Java代码的时候,遇到 ...
- 微软ASP.NET网站部署指南(3):使用Web.Config文件的Transformations
1. 综述 大多数程序里都会在Web.config里设置參数,而且在部署的时候须要更改. 每次都手工更改这些配置非常乏味,也easy出错. 该章节将会告诉你假设通过自己主动化更新Web.config文 ...
- 石子合并(区间dp)
石子合并(一) 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描写叙述 有N堆石子排成一排,每堆石子有一定的数量.现要将N堆石子并成为一堆.合并的过程仅仅能每次将相邻 ...
- 智课雅思词汇---十三、前缀ab-是什么意思
智课雅思词汇---十三.前缀ab-是什么意思 一.总结 一句话总结:分离,脱离;相反;加强意义 前缀:ab- [词根含义]:分离,脱离;相反;加强意义 [词根来源]:来源于拉丁语前缀ab-. [同源单 ...
- CodeForces--606A --Magic Spheres(模拟水题)
Magic Spheres Time Limit: 2000MS Memory Limit: 262144KB 64bit IO Format: %I64d & %I64u Submi ...
- SQL的优化技巧
一.一些常见的SQL实践 (1)负向条件查询不能使用索引 select * from order where status!=0 and stauts!=1 not in/not exists都不是好 ...
- Java-杂项: Java中Array和ArrayList区别
ylbtech-Java-杂项: Java中Array和ArrayList区别 1.返回顶部 1. 1)精辟阐述:可以将 ArrayList想象成一种“会自动扩增容量的Array”. 2)Array( ...
- wamp openssl
在这一章节里, 我记录了一下如何在 wamp 环境下配置 ssl 前提条件 在设置 Apache + SSL 之前, 需要确认 Apache 已经安装并可以正常工作. 并且 ssl 需要的文件在如下的 ...