当前位置: 首页 > 科技观察

Git的高级用法,喜欢就用_0

时间:2023-03-11 22:48:05 科技观察

如果你觉得git很迷惑,那么这张备忘单就是为你准备的!请注意,我有意跳过了gitcommit、gitpull/push等基本命令,此备忘单的主题是git的一些“高级”用法。导航-跳转到上一个分支gitcheckout-viewhistory#每次提交显示在一行gitlog--oneline#在所有提交日志中搜索包含“homepage”的提交gitlog--all--grep='homepage'#获取某人的提交loggitlog--author="Maxence"糟糕:之前重置了一个我不想保留的提交,但现在想回滚?#Getalloperationhistorygitreflog#ResettocorrespondingcommitgitresetHEAD@{4}#...or...gitreset--hard<提交的哈希值>哎呀:我搞砸了我的本地仓库,我应该如何清理它?gitfetchorigingitcheckoutmastergitreset--hardorigin/master查看我的分支和主分支之间的区别gitdiffmaster..my-branch自定义提交#edit最后一次提交gitcommit--amend-m"bettercommitlog"#Appendsomethingtothelastcommit,Keepthecommitlogunchangedgitadd.&&gitcommit--amend--no-edit#Emptycommit--可用于重新触发CIbuildgitcommit--allow-empty-m"chore:re-triggerbuild"squashcommit假设我想要Rebase最后3次提交:-gitrebase-iHEAD~3-将pick保留在第一行,将剩余的提交替换为squash或s-清理提交日志并保存(在vi编辑器中键入:wq以保存)pick64d26a1feat:addindex.jss45f0259fix:updateindex.jss8b15b0afix:typoinindex.jsFix比如我想在提交的fed14a4c中添加一些内容。gitcommitbranchgitadd.gitcommit--fixupHEAD~1#或者用提交的哈希值(fed14a4c)替换HEAD~1gitrebase-iHEAD~3--autosquash#保存退出文件(VI中输入`:wq`)rebase时在每次提交时执行命令,如果有很多特性,一个分支中可能有多个提交。如果测试失败,您希望能够找到导致测试失败的提交。此时您可以使用rebase--exec命令在每次提交时执行命令。#在最后3次提交上运行`npmtest`命令gitrebaseHEAD~3--exec"npmtest"stagingstaging不仅仅是gitstash和gitstashpop;)#Saveallfilesthatarebeingtrackedgitstashsave"loginfo"#list所有暂存项gitstashlist#获取和删除暂存项gitstashapplystash@{1}gitstashdropstash@{1}#...或者使用命令...gitstashpopstash@{1}cleanup#删除远程不存在的分支warehousep#Removeallbranchescontaining`greenkeeper`gitfetch-p&&gitbranch--remote|fgrepgreenkeeper|sed's/^.\{9\}//'|xargsgitpushorigin--deleteGitHub=Git+Hub我把Hub当作git使用的包。如果你想做同样的事情,你可以设置一个别名:aliasgit='hub'#打开浏览器访问仓库url(仅限GitHub仓库)gitbrowse的额外好处:我最喜欢的gitaliasaliasg='git'aliasglog='gitlog--oneline--decorate--graph'aliasgst='gitstatus'aliasgp='gitpush'aliasga='gitadd'aliasgc='gitcommit-v'#aliasyolo='gitpush--force'#每周汇报工作时使用站会git-standup(){AUTHOR=${AUTHOR:="`gitconfiguser.name`"}since=yesterdayif[[$(date+%u)==1]];thensince="2daysago"figitlog--all--since"$since"--oneline--author="$AUTHOR"}