顾名思义 拷贝当前版本号 到剪切板
a8e4b86ce9ca01968629504a6e19b4b99d76a853
commit
,右键选择Create Patch...
commit
中都存在,取到的是最新的内容。(暂时看不懂他的应用场景)
只需要将A分支的几个改动 合并 到B 分支, 不需要全部合并(有些情况下整个分支合并冲突太多处理起来过于麻烦)。可以使用cherry pick .
假设当前所在分支为B,可以在Version Control的Log中选择在A分支单个commit或者多个commit的内容,会将选中的内容拉到B分支重新进行commit,之后记得push上去,就完成了公共功能代码的拉取。
顾名思义 切换到 指定版本
展示某个版本的 整个仓库信息
与本地当前版本做比较
执行
git reflog
(简化,但信息更多)获取到全部的commit的版本信息,再通过git reset进行前进。 这行命令可以获取
我自己理解的是
mixed 如果你已经提交到 工作区了 就是 commit 了 那么原本你commit的东西会依然保留 但是回到了暂存区 可再提交或者回滚
mixed 第二种情况 你存到暂存区 但是本地的文件已经被修改了 那么
这次更改依然会被保留
git reset --mixed HEAD^,可达到类似于撤回commit效果。但要知道它本质只是回退到上版本并重置了暂存区,并没有真正撤回commit,已经commit的记录是不可磨灭的。但是 你可以在此基础上 rockback 达到同样的目的
完全回到上个版本 你写的所有当前版本的东西都会被覆盖
–hard 参数撤销工作区中所有未提交的修改内容,将暂存区与工作区都回到上一次版本,并删除之前的所有信息提交
①移动本地库HEAD指针
意思就是,回滚后,仅仅是把本地库的指针移动了,而暂存区和你本地的代码是没有做任何改变的。而你上次改动已提交committed到本地库的代码显示是绿色即未提交
mixed
①移动本地库HEAD指针
②重置暂存区
意思就是,回滚后,不仅移动了本地库的指针,同时暂存区的东西也没了,意思就是你上次添加到暂存区的文件没了
(就我体验下来 没区别)
**撤销你提交过的内容 会产生一条提交记录 ** 这个撤销可以撤销
适用情况:代码修改完了,已经Commit了,但是还未push,然后发现还有地方需要修改,但是又不想增加一个新的Commit记录。这时可以进行Undo Commit,修改后再重新Commit。
如果已经进行了Push,线上的Commit记录还是会存在的
好用!!!! 妈妈再也不用担心我在俩项目间切来切去的了
每一次 undo commit 之前的记录都会保存在暂存区 会累加
修改提交时的备注信息
fixed up
修改文件,commit 后,再次修改,commit 处右键 fixed up ,会新建一个 commit,默认 message { fixup ! commit 的 message }
squash into
修改文件,commit 后,再次修改,commit 处右键 squash into ,会新建一个 commit,默认 message { squash ! commit 的 message }
commit 的修改被 丢弃 ,不会存在于暂存区或工作区
压缩提交 即将多个commit 压缩为一个commit
在 Git 中,你可以使用强大的 interactive rebase
(交互式 rebase)将多次提交合并成一次。这是我常用的一个很方便的工具;我经常通过将多个临时的小的提交合并成一次提交,然后将整理好的代码 push 给远端。(需要的时候在学)
基于当前分支新建一个 一模一样的分支
通常,发布一个版本时,会在版本库中打一个标签(tag),这样,就唯一确定了打标签时刻的版本。将来无论什么时候,取某个标签的版本,就是把那个打标签的时刻的历史版本取出来。
所以,标签也是版本库的一个快照
当前分支
的上一个/下一个提交 如果当前处于顶端则不可用(按钮被置灰)