Git相关操作

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码>

相关推荐
.Hypocritical.15 小时前
Git 全套实操|配置 /.gitignore/ 分支合并 / 冲突解决 /git stash 完整教程
git
来日方长。。。。long15 小时前
Hermes Agent橙皮书共读|第三篇:保姆级实战部署|本地/VPS从零搭建Hermes
ide·git·hermes
其实防守也摸鱼16 小时前
VS Code Git 工作树:解锁多分支并行开发新体验
数据库·git·安全·oracle·架构·自动化
ERD Online17 小时前
我们怎么设计 good first issue:让第一个 PR 两小时内合入
数据库·git·后端·开源·issue
Python私教1 天前
Codex 自动写 Commit 够安全吗?一套证据化 Git 提交流程
人工智能·git·后端
果果燕1 天前
实习笔记(一):NFS、Samba、VNC、Git、CMake、systemd、内核、交叉编译
linux·arm开发·c++·笔记·git
美味蛋炒饭.1 天前
Git 版本控制(下)
开发语言·git·学习·总结·后端开发
互联网中的一颗神经元1 天前
09 — .git 地图:打开那个隐藏文件夹
大数据·git·elasticsearch
Patrick_Wilson1 天前
你知道 git check 的故事吗
git·程序员·命令行
互联网中的一颗神经元1 天前
10 — 对象模型:.git/objects 里到底装了什么
git