git commit--amend
最近在使用git,感觉git和svn有很大的不同,一直想写一篇文章来总结下
git和svn最大的区别就是git是一个非全量的分支形式,而svn是一个全量的形式,svn想要拉分支非常的费力。
使用git的常用步骤:
1.从代码库clone下代码
clone是以,整个仓库为单位,也就是把整个仓库的代码,都搞下来了,也就是包含了所有的分支,你自己用哪个分支,你再切换到哪个分支就行了。
2.本地进行修改文件,代码
git add ***
git commit
git push
一般我们在push之前都会将我们修改的代码进行review下,我们要知道我们推动给gerrit的是哪些文件,
用git status 指令就能够清楚我们修改了哪些文件
通过git status命令可以查看当前工作区和暂存区文件的状态。
文件所处状态介绍:
(1).未跟踪状态(Untracked):
未跟踪状态的文件,是在工作区,但是未纳入Git管理的文件,不参与版本控制。
使用git add命令即可将未跟踪文件纳入管理
(2).位于暂存区待提交状态(Staged):
也就是已经进行了git add 操作了,已经位于缓冲区了
(3).Modified状态:
纳入跟踪的文件在工作区中被修改后就会处于Modified状态。
然后具体看文件的哪里发生了变化
用git diff 文件名字
对于git的几个名词这里简单的记录下:
远程仓库,本地仓库,本地暂存区,工作区。
git diff 查看的是本地暂存区和工作区的不同
git diff ----cached
查看的是 本地暂存区和本地仓库之间的区别。
而我们在git add 之前也会先看下修改了哪些文件,比如我们 查看了git status 发现有些是编译生成的中间文件
我们不想上传,那么就git add 想要上传的文件名字就可以了。
git commit 文件
这个时候如果我们commit完以后,想看下,我现在要push了,那么我都push了哪些改变呢,可以通过下面的方法来简单的查阅下:
git cherry -v 会有如下显示:
+ 95ce45a604c68fd1d9fe1a8fb53cfacb3b958649 test9
而如果我想看详细的,哪些要push的东西,可以 用git show 进行详细的查看
git show 95ce45a604c68fd1d9fe1a8fb53cfacb3b958649
会详细的显示下面的信息:
commit 95ce45a604c68fd1d9fe1a8fb53cfacb3b958649
Author: hczhang <hczhang@vw-mobvoi.com>
Date: Tue Feb 9 14:29:17 2021 +0800
test9
diff --git a/test8 b/test8
index 50d2bca..d312603 100644
--- a/test8
+++ b/test8
@@ -1 +1,2 @@
zhctest8
+zhctest999
然后我们再push
然后代码就会推到gerrit
3.当我们发现我们把修改的数据推送到服务器之后,发现我们推送的有问题,这个时候,可以在gerrit进行abandon
但是有一种更好的方法可以使用
用git commit --amend
他主要有两种用法:
3.1 如果已经push到远端服务器,想修改已经提交过的commit信息
git commit --amend
git push --no-thin origin HEAD:refs/for/master
注意这里的意思是,只是提交commit的信息,也就是说你想修改下注释而已。
3.1 如果已经push到远端服务器,想修改代码信息,这里就包括修改代码的文件,以及新添加代码
git add 文件
git commit --amend
git push --no-thin origin HEAD:refs/for/master
4.就是版本的回退功能
所谓的回退就是你更改了许多内容,但是发现这些更改都是无效的,需要会退到前面的某一个版本,这个时候就要用到 git reset
git commit--amend相关推荐
- Git的撤销操作 git commit --amend
在项目中我们也经常会使用到撤销操作 使用这一节我们就讲一讲Git的撤销操作 撤销操作主要有如下几种 git commit --amend 撤销上一次提交 并讲暂存区文件重新提交 git checkou ...
- 【Git】Git 版本管理 ( 补充提交版本 git commit --amend | 版本库提取文件 git checkout -- filename | 删除文件 git rm )
文章目录 一.补充提交版本 git commit --amend 二.版本库提取文件 git checkout -- filename 三.删除文件 git rm 一.补充提交版本 git commi ...
- git commit --amend 改写提交
1. commit --amend 为了节省时间,这个教程使用现有的历史记录作为本地数据库. 从这里下载 我们将修改最近一次的提交. 首先进入stepup-tutorial/tutorial1目录.本 ...
- git commit --amend修改git commit提交的message
当git commit -m "message"提交之后,在push之前,发现git commit中的message有误,想把提交的message改过来,有什么办法? 首先输入gi ...
- git commit --amend用法(摘抄)
适用场景: 比方说,你的代码已经提交到git库,leader审核的时候发现有个Java文件代码有点问题,于是让你修改,通常有2种方法: 方法1:leader 将你提交的所有代码 abandon掉,然后 ...
- git commit --amend 修改git提交记录用法详解
有时你提交过代码之后,发现一个地方改错了,你下次提交时不想保留上一次的记录:或者你上一次的commit message的描述有误,这时候你可以使用接下来的这个命令:git commit --amend ...
- Git(8)-- 撤消操作(git commit --amend、git reset 和 git checkout 命令详解)
文章目录 1.撤消操作:`git commit --amend` 实例详解: 2.取消暂存的文件:`git reset` 3.撤消对文件的修改:`git checkout` 超详细 Git 图文版小白 ...
- git commit --amend两种用法
一.如果已经push到远端服务器,想修改已经提交过的commit信息 1.保存:Ctrl + o; 回车 ;退出:Ctrl + x # git commit --amend 2.重新提交gerrit审 ...
- git commit -amend报错 ! [remote rejected] HEAD -> refs/for/master (duplicate request) error: failed to
git commit --amend 提交代码 git push时报错: ` ! [remote rejected] HEAD -> refs/for/master (duplicate req ...
- git commit --amend 用法详解
有时你提交过代码之后,发现一个地方改错了,你下次提交时不想保留上一次的记录:或者你上一次的commit message的描述有误,这时候你可以使用接下来的这个命令:git commit --amend ...
最新文章
- hdu5296 01字典树
- redis如何解决秒杀超卖java_Spring Boot + redis解决商品秒杀库存超卖,看这篇文章就够了...
- 工程制图 ( 标准件与常用件)
- c# 获取word表格中的内容_Java 获取、删除Word文本框中的表格
- CLion导入用户自己的lib和头文件
- Saltstack 报错 python-crypto randomPool_DeprecationWarning:
- 【转载】他是个残疾人 mynote V1.01发布
- 网络I/O模型--04非阻塞模式(解除accept()、 read()方法阻塞)的基础上加入多线程技术...
- AttributeError: 'Request' object has no attribute 'is_xhr' 报错的解决办法
- 19. Django进阶:分页
- 针对利用tzselect修改时间及ln -sf 修改系统时间不好使的情况 linux 6.5
- 最新Activity与Fragment完全理解
- C语言---双人贪吃蛇
- android怎么实现记住密码功能,Android App“记住密码”功能的实现逻辑
- Xcode8兼容iOS7的解决方法
- 通过天眼查查询相关企业信息
- 阿里IOT 应用托管部署 (2020/12/02)
- 我们距离实现通用人工智能还有多远?
- 五子棋 java 课设,五子棋java课程设计
- oracle七参数坐标转换,MapGIS国土空间数据2000大地坐标系转换系统
热门文章
- App的开发成本是多少?
- vmware安装了vmware tools还是无法复制文件与文本(ubuntu16.04)
- chm打开空白(chm打开空白)
- linux下.dep文件,Linux 安装 golang 和 dep (附错两个误解决方法)
- mysql cmd 关闭防火墙_MySQL WorkBench:Failed to Connect to MySQL at XXX.XXX.XXX with user XXX
- 微信公众号,图文编辑超链接中,没有外部链接只能增加公众号链接是什么情况?
- 湘潭大学 计算机学院程诗婕,2019 CCF CCSP分赛区竞赛决出金银铜奖
- c语言源程序要求每行只能书写一条语句,C语言试题库(含答案)
- latex审阅时添加行号
- ACCESS使用技巧三则