Git作为项目管理中最为重要的一个部分,了解git相关的操作是作为一个程序员必不可少的部分,一个错误的git操作可能会让你写的代码被覆盖,写的功能错误删除等等问题,所以学会使用git是通往程序员大佬最基础的一步。
Git部分学习大家可以参考这个网站:https://learngitbranching.js.org/?locale=zh_CN,这个网站有动态图的方式来教大家学习git相关的知识,设计的还是比较全面的。我先写一部分我自己的总结,后续也会慢慢进行更新。
===================基本知识==================
git commit: 提交当前记录,并且生成一个新的提交。
git branch newBranch: 切换/新建一个分支newBranch。
git merge bugFix: 将bugFix与HEAD进行合并形成一个新分支,并且HEAD指向新分支。git checkout bugFix;git merge main(新的分支名): 将bugFix合并到新的分支中。
git rebase main: 将当前分支保留原版本并在main下面创建一个当前分支与main合并后新版本。git rebase bugFix:由于新版本是由bugFix继承自main,所以在rebase时是将main向前移动到main下面的这个新版本。
===================进阶知识==================
git branch -f bugFix main~4: bugFix回退到main往前推4的版本。
git checkout c1(哈希值):控制head的位置到c1,head指的是你当前的这个分支。
git reset HEAD~1:撤销在当前位置的提交并且返回到上一次提交的状态。
git revert HEAD:保留当前版本,然后出现一个新的提交版本,新的提交版本跟当前版本的前一个版本一致。
==================移动提交记录=================
cherry-pick c2 c4:在当前版本下创建多个(根据后面的参数)新的版本,新的版本先是将c2的内容进行合并,再次将c4的内容进行合并
原:

使用命令后:

git rebase -i HEAD~4:会出现一个交互式的页面,选择如何配置从当前HEAD目录下面往回退四格的情况
========================自行总结===================
git cherry-pick <修订的hash码>:用于 将某个(或某些)特定的 commit 从一个分支"摘取"并应用到当前分支上。
需求示例:例如当前分支为test分支用于测试和MR,基于test分支创建了一个新的分支,然后在这个新的分支new上面创建了一个功能分支,但是在这个功能分支写错了,写了测试代码并且提交了,但是现在要将已经提交到new分支的测试代码提交到test分支中,此时就可以使用git chery-pick了。
使用:1.找到提交到new分支的测试代码的修订hash码;2.切换到test(要提交的分支);3.使用git chery-pick <修订hash码>