
git stash 命令:暂存与恢复
git stash 暂存修改git stash是一个非常好用的git命令,常常用来保存临时的修改,有不想add到提交里去。常用命令有:①执行存储时,添加备注,方便查找,只有git stash 也要可以的,但查找时不方便识别。或者最简单的,没有备注②查看stash了哪些存储③显示做了哪些改动,默认show第一个存储,如果要显示其他存贮,后面加stash@{$num},比如第二个 git stash
工具与效率 · 共 24 篇 · 按发布时间正序排列
Git 从基础命令到进阶工作流:版本控制的实战问题库

git stash 暂存修改git stash是一个非常好用的git命令,常常用来保存临时的修改,有不想add到提交里去。常用命令有:①执行存储时,添加备注,方便查找,只有git stash 也要可以的,但查找时不方便识别。或者最简单的,没有备注②查看stash了哪些存储③显示做了哪些改动,默认show第一个存储,如果要显示其他存贮,后面加stash@{$num},比如第二个 git stash

branch 分支管理 开发中分支管理是很重要的一件事情,往往需要频繁的切换开发分支。常用的用法如下,简要的记录一下。1、查看分支 查看本地分支查看远程所有分支2、创建分支 创新新的分支从已有的分支创建新的分支(如从master分支),创建一个dev分支。可以用来在本地创建远已有的程分支创建的新分支提交到远程3、切换分支 切换分支命令:4、删除分支删除本地分支 删除远程分支 5、合并分支将指定的分

git rebase之前每次自己本地已经有提交了,在pull新的代码下来,就会产生一个空的commit,这是来合并同一个分支不同开发者的提交。--rebase的本意是想让事情的发展看起来很连续和优美,而不是多出很多无用的merge commit 。1、图解rebase正常情况下的开发分支提交:两个开发者各自在本地继续commit C进行开发,并且提交了。如果一个人提交到了服务器,另一个人本地提交了

git 报错 fatal: index-pack failed1、git clone操作出现fatal:index-pack一次在clone仓库的时候出现报错fatal:index-pack因为当前clone文件夹的属性为“只读”,无法写入文件夹属性“只读”取消即可2、git pull报错 fatal: index-pack failed参考这篇博客:git pull报错 fatal: index

Could not restore untracked files from stash1、git stashgit stash这个命令可以方便的保存临时修改,不用提交,切换到其它分支继续处理。处理完之后,切回来原来的分支git stash恢复暂存的修改继续开发。关于git stash命令更详细的用法参考《git stash暂存修改》因为不仅修改了文件,而且还添加了新的文件,如果仅使用git st

git cherry-pick将另一个分支的提交“捡”过来,再次在当前分支提交。需要知道本地另一个分支的提交的commit ID,或者gerrit上面的别人提交对应的cherry-pick链接。如果没有出现冲突,该命令将自动提交。如果不想cherry-pick自动产生提交,继续往后面看。1、cherry-pick 冲突如果要cherry-pick过来的提交和本地的修改有冲突,需要处理,解决完冲突之

git rebase -i合并commit提交今天开发就真遇到了要合并多个commit提交,因为自己在开发的时候按照功能细分,一个功能开发一个commit提交。leader review代码的时候觉得提交太多,显得乱,提交划分的不应该这么细。而且review的过程中,前面几笔提交有要修改的地方,这下就很麻烦,需要退回去修改,在重新一笔一笔提交,而且后面的提交中又修改了前面的,也依赖前面要修改的地方

git log简单介绍一些常用的git log日志,详细的log命令可以使用打开网页查看更详细的log命令文档。1、简介git log 用来显示代码提交日志。还有一个打印日志的命令shortlog,打印短日志。按作者对每个提交分组,并展示每个提交信息的第一行。2、附加命令git log的高级命令可以被分为两类:格式化每条commit的展示与过滤展示出的commit。总之,这两项技能让你回到项目的任

git rebase调整commit之间顺序一连提交了几笔commit,想调整一下顺序,把其中一笔提交置顶拿到最前面来,专门修改这一笔提交。当然如果想修改某一笔提交,可以reset到那笔commit,进行修改,完成之后再把之后的提交cherry-pick回去。git log查看提交记录,每笔提交记录太多,可以让每笔提交仅显示一行查看 --oneline。使用git rebase -i进入编辑,之前

git taggit可以给仓库历史中的某一个提交打上标签(tag)。开发过程中,常常拉出基线,在来处基线出打上tag,标志该出已经拉出一条稳定的产品基线。tag可以理解问一个不可修改的branch分支。1、查看tag -l 或 --list 列出仓库中所有标签使用可选<pattern>...仅列出与模式匹配的标签。通配符必须和-l或者--list配合使用。不带参数运行“ git tag”也会列出所

gitk:git图形化操作工具在命令行输入gitk可以打开图形化git界面。这种方式Ctrl+C都不能终止任务。在打开后,不占用Terminal在后台运行查看后台运行的任务还有另一种命令方式显示图形化的Log

git bisectgit bisect是一个很有用的命令,用来查找哪一次代码提交引入了错误。它的原理很简单,就是将代码提交的历史,按照两分法不断缩小定位。所谓"两分法",就是将代码历史一分为二,确定问题出在前半部分,还是后半部分,不断执行这个过程,直到范围缩小到某一次代码提交。①启动查询①设置区间bad末尾②设置区间good起始git 会头指针指向两个版本之间的那次提交③开始二分标记如果代码没问

git blame:显示文件的每行提交记录信息git blame对文件的每行信息都进行注释。能看到关于该行修改的每一次commit的哈希标签、作者和提交日期。Intellij IDEA在打开文件的行数右键点击Annotate显示文件每一行的记录信息。应该用的就是这个命令实现的功能。

git reflog:记录时光机比git log更强大的命令使git reflog,可以找到已经删除的commit记录,而普通的log命令无法查询到已被删除或者悬空的commit记录。reflog是git操作的一道安全保障,能够记录几乎所有本地仓库的改变。1、reflog管理reflog信息。git reflog根本不遍历HEAD的祖先。它是HEAD所指向的一个顺序的提交列表:它的undo历史。r

git fsck:找回被误删记录git stash用来暂存修改,平时使用apply而不是pop,一次不小心使用了pop把stash暂存的修改都提出来,而且又大意直接把修改全部checkout .,暂存里面现在又没有记录了,这可是没有提交的一下午的工作啊,虽然还能记得大致修改,但是再重写一遍心态崩溃!有没有什么方式能恢复以前暂存过的记录呢?有!其实git stash pop 其实并没有真正地将文件删
git gc:清理和优化本地代码仓库存储git仓库使用旧了之后就会有一些悬空的提交记录,就像Java中没有被引用的对象一样。如果有硬盘空间洁癖的话可以回收,但是不回收也有意想不到的好处,在必要的时候可以找回以前丢失的修改(git fsck:找回被误删记录)。1、gc清理不必要的文件并优化本地存储库一些git命令可能会自动运行git gc; --auto详细信息请参阅下面的标志。如果您知道自己在做什

git commit --amend 追加修改git commit命令比较熟悉了,用来提交代码。它还有一个非常好用的选项--amend。这个命令非常好用,工作中频繁用到,最近提起就记录一下。1、--amend使用当之前的提交有一些小瑕疵需要继续修改,修改完毕之后,直接add到暂存区准备提交代码的时,这时候有两种方式:第一种是commit,将这次的修改提交。这会产生一个新的commit提交记录,明明

在线代码查看神器:github1s在GitHub上发现微软一个牛掰的项目:github1s,基于Node.JS、Yarn、Python等技术栈,实现“One second to read GitHub code with VS Code.”。和前段时间推荐的GitHub浏览插件:Git Master一样高效的在线浏览GitHub代码,但不需要任何插件的束缚,非常方便。项目地址:github.com

Git 查看仓库远端地址和很多开发者一样,将很多优秀的开源库代码clone到本地,以便阅读、编译和调试。并且定期pull更新,使这些仓库保持最新。时间一长,需要打开查看更多信息时,却忘记了仓库原本的地址。很简单,只需要用git的remote -v命令:即可查看clone下来的仓库对应的远端详细地址:

Java 开发中让版本管理不再复杂的插件:GitToolBox1、GitToolBox 插件概述GitToolBox 是一款针对 IntelliJ IDEA 的 Git 增强插件,旨在提升开发者的版本管理效率。它为 IDE 内置的 Git 功能提供了一系列增强特性,使 Git 操作更加便捷和高效。核心价值: - 增强 Git 操作功能 - 优化界面展示 - 提供便捷的操作方式 - 提升团队协作效率

Git Fetch 命令详解1、Fetch 命令的基本概念Git fetch 命令是 Git 版本控制系统中的一个核心命令,用于从远程仓库获取最新的代码变更,但不会自动合并到本地分支。它的主要作用是同步远程仓库的状态,让本地仓库了解远程仓库的最新进展,而不会影响本地的工作状态。核心概念: - 远程仓库:存储在网络或其他位置的 Git 仓库 - 本地仓库:本地计算机上的 Git 仓库 - 引用(Re

GitHub Spec Kit 详解:规范驱动开发(SDD)工具包在 AI 编码工具爆发的今天,"一上来就让 AI 写代码"的 vibe coding(氛围编码)虽然爽,却常带来质量不可控、需求漂移、返工不断的隐患。GitHub 给出的答案是 Spec Kit——一个开源的规范驱动开发(Spec-Driven Development,SDD)工具包。它的口号很直接:"Build high-qual

GitHub CLI 详解:把 GitHub 装进终端日常开发里最割裂的体验莫过于:写代码、提交、切分支都在终端里行云流水,一到"建 PR、看 CI、评论 issue"就得切回浏览器点网页。GitHub CLI(命令名 gh)就是为消灭这种割裂而生——GitHub 官方出品的命令行工具,免费开源,把 pull request、issue、release、CI 检查这些平台能力全部搬进终端,甚至内置

git reset 大概是被误解最深的 Git 命令:有人把它当成"撤销神器",一次误操作丢了三天的工作;有人谈之色变,宁可 git checkout 到处绕。其实 reset 的行为可以完全拆解成两个动作——移动分支指针与处理暂存区 / 工作区,把这两个维度想清楚,它就从"危险命令"变成精准的版本控制手术刀。本文从本质、三种模式、典型场景到常见误区,完整讲透 git reset。 1、本质:re…