2024年大数据最新无痕修复:优雅修改本地及远程Commit信息,保持项目历史整洁(1),GitHub已标星16k

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

5.查看第一次修改的提交信息后的日志信息,发现没有新增一条提交信息,而是修改了hash值

$ git log --oneline
665763e (HEAD -> master) add: user2增加了参与贡献区域的内容
d63ca18 (origin/master, origin/HEAD) fix: user2看来是真的还原了特技区域的第六项内容
18e8c42 fix:特技区域的第六项内容真的是user2操作的吗
c635285 Merge branch 'master' of https://e.coding.net/love2157dream/gittest/git-test-demo
......

6.第二次修改提交信息,带上-m参数,此时不会打开编辑器,输入提交信息,而是直接在参数后跟上提交信息:

$ git commit --amend -m "add: user2增加了参与贡献区域的第九项内容"
[master 0c8dc7d] add: user2增加了参与贡献区域的第九项内容
 Date: Tue Apr 2 10:47:10 2024 +0800
 1 file changed, 2 insertions(+)

7.查看第二次修改的提交信息后的日志信息,发现没有新增一条提交信息,而是修改了hash值

$ git log --oneline
0c8dc7d (HEAD -> master) add: user2增加了参与贡献区域的第九项内容
d63ca18 (origin/master, origin/HEAD) fix: user2看来是真的还原了特技区域的第六项内容
18e8c42 fix:特技区域的第六项内容真的是user2操作的吗
c635285 Merge branch 'master' of https://e.coding.net/love2157dream/gittest/git-test-demo
......

注意:在本地分支上修改最近一次的提交信息,命令行中有无 -m 参数,提交的记录信息都不会新增多条记录。

场景二:修改远程分支上的最近一次提交信息

提交到远程时使用参数 --force-with-lease (推荐) 或者 使用 --force (慎用),不会导致新增记录,会覆盖最近一条的记录。

  1. 查看下提交记录日志信息,此时最近一次记录hash值是 0c8dc7d
$ git log --oneline
0c8dc7d (HEAD -> master) add: user2增加了参与贡献区域的第九项内容
d63ca18 (origin/master, origin/HEAD) fix: user2看来是真的还原了特技区域的第六项内容
18e8c42 fix:特技区域的第六项内容真的是user2操作的吗
c635285 Merge branch 'master' of https://e.coding.net/love2157dream/gittest/git-test-demo
......

2.第一次使用不带 -m 参数修改记录,此时记录hash值是 97d50ca

$ git commit --amend
[master 97d50ca] add: 参与贡献区域的第九项内容的内容是用户user1增加的
 Date: Tue Apr 2 10:47:10 2024 +0800
 1 file changed, 2 insertions(+)

3.使用 --force-with-lease 提交记录信息到远程分支上:

$ git push --force-with-lease origin master
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 8 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 395 bytes | 131.00 KiB/s, done.
Total 3 (delta 1), reused 0 (delta 0), pack-reused 0
To https://e.coding.net/love2157dream/gittest/git-test-demo.git
 + 0c8dc7d...97d50ca master -> master (forced update)

4.查看提交信息,没有新增记录信息,只是 修改了hash值和提交信息内容

97d50ca (HEAD -> master, origin/master, origin/HEAD) add: 参与贡献区域的第九项内容的内容是用户user1增加的
d63ca18 fix: user2看来是真的还原了特技区域的第六项内容
18e8c42 fix:特技区域的第六项内容真的是user2操作的吗
c635285 Merge branch 'master' of https://e.coding.net/love2157dream/gittest/git-test-demo
......

5.第二次使用带 -m 参数修改记录,此时记录hash值是 f67f077

$ git commit --amend -m "add: user2新增了参与贡献区域的内容"
[master f67f077] add: user2新增了参与贡献区域的内容
 Date: Tue Apr 2 10:47:10 2024 +0800
 1 file changed, 2 insertions(+)

6.同样是使用 --force-with-lease 提交记录信息到远程分支上:

$ git push --force-with-lease origin master
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 8 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 372 bytes | 372.00 KiB/s, done.
Total 3 (delta 1), reused 0 (delta 0), pack-reused 0
To https://e.coding.net/love2157dream/gittest/git-test-demo.git
 + 97d50ca...f67f077 master -> master (forced update)

7.查看提交信息,没有新增记录信息,只是 修改了hash值和提交信息内容

$ git log --oneline
f67f077 (HEAD -> master, origin/master, origin/HEAD) add: user2新增了参与贡献区域的内容
d63ca18 fix: user2看来是真的还原了特技区域的第六项内容
18e8c42 fix:特技区域的第六项内容真的是user2操作的吗
c635285 Merge branch 'master' of https://e.coding.net/love2157dream/gittest/git-test-demo
......

场景三:修改远程分支上的最近一次提交信息,直接使用 git push 提交

1.查看最近的提交记录日志信息,此时最近一条记录hash值是 f67f077

$ git log --oneline
f67f077 (HEAD -> master, origin/master, origin/HEAD) add: user2新增了参与贡献区域的内容
d63ca18 fix: user2看来是真的还原了特技区域的第六项内容
18e8c42 fix:特技区域的第六项内容真的是user2操作的吗

  1. 修改最近一条提交信息,此时的记录hash值是 a9396fe
$ git commit --amend -m "add: user2在参与贡献区域新增了第九项内容"
[master a9396fe] add: user2在参与贡献区域新增了第九项内容
 Date: Tue Apr 2 10:47:10 2024 +0800
 1 file changed, 2 insertions(+)

3.查看此时的分支状态,提示本地分支和远程分支存在一次不同的提交记录,可以使用 git pull 进行更新:

$ git status
On branch master
Your branch and 'origin/master' have diverged,
and have 1 and 1 different commits each, respectively.
  (use "git pull" if you want to integrate the remote branch with yours)

nothing to commit, working tree clean

  1. 使用 git pull 把远程分支和当前分支进行集成, 然后使用 git push 提交到远程分支
$  git pull origin master 
From https://e.coding.net/love2157dream/gittest/git-test-demo
 * branch            master     -> FETCH_HEAD
Merge made by the 'ort' strategy.


$ git push origin master 
Enumerating objects: 2, done.
Counting objects: 100% (2/2), done.
Delta compression using up to 8 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (2/2), 477 bytes | 477.00 KiB/s, done.
Total 2 (delta 0), reused 0 (delta 0), pack-reused 0
To https://e.coding.net/love2157dream/gittest/git-test-demo.git
   f67f077..ddb8221  master -> master

5.查看提交记录的日志信息:

$ git log --oneline
ddb8221 (HEAD -> master, origin/master, origin/HEAD) Merge branch 'master' of https://e.coding.net/love2157dream/gittest/git-test-demo
a9396fe add: user2在参与贡献区域新增了第九项内容
f67f077 add: user2新增了参与贡献区域的内容
d63ca18 fix: user2看来是真的还原了特技区域的第六项内容
18e8c42 fix:特技区域的第六项内容真的是user2操作的吗
......

总结: 从提交记录信息上看,修改远程分支上最近一次提交信息的内容,直接使用 git push 提交远程分支时,会新增两条分支的记录,一条是修改后提交记录a9396fe, 一条是合并分支的记录ddb8221,这样会让提交记录变得冗余,因此推荐使用 --force-with-lease 提交远程记录。

写在最后

总之,修改最近一次提交信息 是一种适时修正、完善代码提交历史的有效手段,它强化了版本控制的严谨性,促进了团队沟通与协作效率,确保代码仓库始终保持高质量的文档标准。

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化资料的朋友,可以戳这里获取

TRm-1714888275030)]
[外链图片转存中…(img-RKggW0XB-1714888275030)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化资料的朋友,可以戳这里获取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值