Git常用的操作指令
修改最后一次提交
有时候我们提交完了才发现漏掉了几个文件没有加,或者提交信息写错了。想要撤消刚才的提交操作,可以使用--amend 选项重新提交:
1 |
$ git commit --amend -m"修改 提交 说明" |
此命令将使用当前的暂存区域快照提交。如果刚才提交完没有作任何改动,直接运行此命令的话,相当于有机会 重新编辑提交说明,但将要提交的文件快照和之前的一样。
启动文本编辑器后,会看到上次提交时的说明,编辑它确认没问题后保存退出,就会使用新的提交说明覆盖刚才失误的提交。
如果刚才提交时忘了暂存某些修改,可以先补上暂存操作,然后再运行 --amend 提交:
1 |
$ git commit -m 'initial commit' |
上面的三条命令最终只是产生一个提交,第二个提交命令修正了第一个的提交内容。
git revert
git revert 是 撤销 某次操作,此次操作之前和之后的commit都会被保留,并且 会把这次撤销作为一次最新的提交;
1 |
$ git revert HEAD 撤销前一次 commit |
git revert是提交一个新的版本,将需要revert的版本的内容再反向修改回去,版本会递增,不影响之前提交的内容。
git reset 是撤销某次提交,但是此次之后的修改都会被退回到暂存区;git reset是还原到指定的版本上,这将扔掉指定版本之后的版本
git diff
在工作中可以通过命令:
1 |
$ git log --author zhguixin |
查看某一作者的提交记录,进一步的话可以通过git diff来比较不同提交记录时各个版本的差异。具体解释如下:git diff --cached 显示索引区与git仓库之间的差异git diff HEAD 显示当前工作目录与git仓库之间的差异git diff HEAD^ 比较上次提交git diff HEAD~2 比较上2次提交
--diff-filter=[ACDMRTUXB*]
显示指定状态的文件:Added (A), Copied (C), Deleted (D), Modified (M), Renamed (R), changed (T), are Unmerged (U), are Unknown (X)
git diff --stat 列出文件
git diff -- filename 只对比给定的文件
历史提交对比:$ git diff commit 将所指定的某次提交与当前工作目录进行对比。
$ git diff commit1 commit2 将2次提交的内容进行对比
等价于$ git diff commit1..commit2 如果省略任意一个commit,默认将使用HEAD代替
commit可以是简写的commit哈希值,也可是是HEAD。其中HEAD代表最后一次提交,HEAD^代表最后一次提交的父提交,HEAD~1等价于HEAD^,HEAD~2为倒数第二次提交,以此类推。
Git常用的操作指令的更多相关文章
- git常用命令操作
git常用命令 #查看配置 git config -l #查看系统config git config --system --list #查看当前用户(global)配置 git config --gl ...
- Git常用的操作
1.git使用的常规操作 git pull——>编辑——>git add——>git commit——>git push 用git add把文件添加进去,实际上就是把文 ...
- Git常用的操作记录(自用)
分支常用操作命令 $ git branch -a //查看分支 $ git checkout -b dev origin/master //切换/创建分支 $ git branch -vv 或 gi ...
- git中常见操作指令
从git上拉下一个项目: 1.git clone 项目链接 2. git checkout development (切换到development分支) ...
- Git常用进阶操作之一
提起Git,经常做项目的我们都不陌生,我们常用的功能有哪些呢? 这里按个人使用情况简单总结一下. 像新建远程仓库.新建分支这些就不说了,不熟的同学可以翻看我前面写的git基本操作. 1.首先提一下为每 ...
- 常用Dos操作指令
1 dir 无参数:查看当前所在目录的文件和文件夹. /s:查看当前目录已经其所有子目录的文件和文件夹. /a:查看包括隐含文件的所有文件. /ah:只显示出隐含文件. /w:以紧凑方式(一行显示5个 ...
- 常用Linux操作指令
-------------------------------Linux目录------------------------------- /:根目录,一般根目录下只存放目录,在Linux下有且只有一 ...
- git的一些操作指令
1. mkdir learn 创建learn文件夹(也可不用命令创建,直接右击新建即可) cd learn进入learn文件夹 git init 把learn文件夹 变成 可以用git管理的 ...
- Git 常用场景操作
git init 在本地新建一个repo,进入一个项目目录,执行git init,会初始化一个repo,并在当前文件夹下创建一个.git文件夹. git clone 获取一个u ...
随机推荐
- Python常见经典
python中if __name__ == '__main__': 的解析 当你打开一个.py文件时,经常会在代码的最下面看到if __name__ == '__main__':,现在就来介 绍一下它 ...
- 大集合List分为多个子集合
批量插入时如果一次插入的对象过多会导致超过mysql限定sql长度,通过命令查看 show VARIABLES like 'max_allowed_packet' ,如果数据太多,就将大集合List分 ...
- 学习LCA( 最近公共祖先·二)
http://poj.org/problem?id=1986 离线找u,v之间的最小距离(理解推荐) #include<iostream> #include<cstring> ...
- [原]win10拖拽贴靠功能注册表项调查记录
win10的拖拽贴靠功能被禁用了,偶然的机会,在设置中看到了相关的设置项,如下图 直觉告诉我一定是设置注册表中的某一项,于是决定调查下具体的注册表位置.请出procmon.exe,然后关闭贴靠功能,停 ...
- nginx 配合jersey+netty的奇怪问题
角色 client proxy nginx server jersey+netty 问题表现 client 直接请求server 正常,返回准确json数据 jsondat client->ng ...
- 网络类(IP、dns、网络连接类)
一.centOS 7 设置DNS方法 使用全新的命令行工具 nmcli 来设置 1.显示当前网络连接 nmcli connection show NAME UUID TYPE DEVICE eno ...
- Linux基础篇八:VIM
新知识: 普通模式光标跳转: G ##光标跳转到末端 (shift +g) gg ##光标跳转到开端 Ngg 15gg ##光标跳转到当前文本中的15行 $ ##光标移动到当前 ...
- Linux中vim的基本操作
Vim三种模式之间的相互转换: 1.拷贝当前行 yy,拷贝当前行的向下五行 5yy,粘贴使用p: 2.删除当前行 dd,删除当前行的向下五行 5dd: 3.在文件中查找某个单词[命令行模式下 /关键 ...
- [LC] 107. Binary Tree Level Order Traversal II
Given a binary tree, return the bottom-up level order traversal of its nodes' values. (ie, from left ...
- 吴裕雄--天生自然 HADOOP大数据分布式处理:安装配置JAVA
tar -xzvf jdk-8u151-linux-x64.tar.gz -C /usr/local/src sudo vim /etc/profile .编辑/etc/profile # JAVA ...