Git的一些基本命令(一)

本文详细介绍了Git的基本操作,包括gitcommit、gitbranch、gitcheckout、gitmerge、gitrebase等,以及如何通过gitreset和gitrevert撤销改动。还提到了高级技巧如cherry-pick和rebase-i的使用,帮助读者更好地理解和掌握Git。
摘要由CSDN通过智能技术生成

声明

本文是对Git部分指令的归纳汇总,由于本人也刚刚入门Git,因此可能存在许多疏忽与漏洞,不喜勿喷!望大家指正,相互学习。

git commit

创建一个新的提交记录,执行后第一幅图将会变成第二幅图

git branch branch_name

创建一个分支,例如执行git branch newImage,则第一幅图将会变成第二幅图

git checkout branch_name

切换当前所在分支,例如执行git checkout newImage,则第一幅图将会变成第二幅图

git checkout -b branch_name

创建一个新的分支同时切换到新创建的分支上,例如执行git checkout -b newImage,则第一幅图将变成第二幅图

git merge branch_name

合并分支,将branch_name分支上的内容合并到当前主分支中,例如执行git merge bugFix,则第一幅图将变成第二幅图

git rebase branch_name

合并分支的另一种方法,将branch_name作为基础,将主分支上的内容添加到branch_name分支上,从而实现合并,例如执行git rebase main,则第一幅图将变成第二幅图

git checkout commit_name

分离HEAD,将HEAD指向commit_name上,例如执行git checkout c1,则第一幅图将变成第二幅图

git checkout branch_name^

branch_name^表示branch_name的父结点,例如执行git checkout main^,则第一幅图将变成第二幅图

git checkout branch_name~i

branch_name~i表示从branch_name指向的结点处向上移动i步所在的结点,例如执行git checkout HEAD~4,则第一幅图将变成第二幅图

git branch -f branch1_name branch2_name~i

移动分支,表示将branch1_name分支移动到branch2_name~i上,例如执行git branch -f main bugFix^,则第一幅图将变成第二幅图(注:branch_name^与branch_name~1等价。)

git reset branch_name~i

git reset通过把分支记录回退几个提交记录来实现撤销改动。git reset向上移动分支,原来指向的提交记录就跟从来没有提交过一样,例如执行git reset HEAD~1,则第一幅图将变成第二幅图

git revert branch_name~i

对于远程操作,即撤销更改并分享给别人,我们需要使用git revert。例如执行git revert HEAD,则第一幅图将变成第二幅图(注:在我们要撤销的提交记录后面多了一个新提交,这是因为新提交记录C2’引入了更改——这些更改刚好是用来撤销C2这个提交的。也就是说C2’的状态与C1是相同的。revert 之后就可以把你的更改推送到远程仓库与别人分享啦。)

git cherry-pick commit_name ···

复制粘贴提交数据,将提交数据添加在主分支上,例如执行git cherry-pick C2 C4,则第一幅图将变成第二幅图

git rebase -i branch_name~i

因为-i的存在,Git会打开一个UI界面并列出将要被复制到目标分支的备选提交记录,它还会显示每个提交记录的哈希值和提交说明,提交说明有助于你理解这个提交进行了哪些更改。当UI界面打开时,你能做3件事:调整提交记录的顺序(通过鼠标拖放来完成);删除你不想要的提交(通过切换pick的状态来完成,关闭就意味着你不想要这个提交记录);合并提交,它允许你把多个提交记录合并成一个。例如执行git rebase -i main~3,则将出现如下变化:

在这里插入图片描述
这时产生了一个UI界面,通过鼠标拖动、点击omit按钮进行调整即可。我随意调整后如下:
在这里插入图片描述
然后点击确认,得到最终形式:
在这里插入图片描述

git commit --amend

进行一些小修改,执行之后第一幅图将变成第二幅图(注:C3’是修改后的版本)

在这里插入图片描述

参考网址

Learn Git Branching

结语

后续内容持续更新中,未完待续······

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值