面板介绍
如图,在IDEA的Git面板中,仓库会分为本地仓库和远程仓库,代码仓库里面放的是各个分支。
分支前面的书签🔖标志表示当前分支。
变基、合并
合并(merge)和变基(rebase)是在 Git 中常用的两种分支整合方法。
合并(merge)是将一个分支的更改合并到另一个分支中。它会创建一个新的提交,包含两个分支的更改。合并会在分支历史中保留各个分支的独立提交历史。
变基(rebase)是将一个分支的更改应用到另一个分支的过程,不同于合并操作,它会将分支上的提交重新应用在目标分支上。这样可以保持提交历史的线性、干净且易于理解。变基会重写提交历史,因此需要小心使用,避免在公共分支上进行变基操作。
例如,下图是一个正常开发的双分支结构:
如果此时要合并两个分支,合并后的结构为:
如果此时要变基两个分支,变基后的结构为:
右键远程分支,看到如下图:
里面有选项,即对本地分支、远程分支进行一些合并、变基的互动:
将test变基到origin/master
将origin/master合并到test中
使用变基拉入test
使用合并拉入test
提取、拉取
在Git中,"拉取"和"提取"都是用于从远程仓库获取最新的变更,并将其应用到本地仓库的操作。
“拉取”(Pull)操作包括两个步骤:先从远程仓库中获取最新的提交记录(Fetch),然后将这些提交记录应用到本地分支上(Merge)。这样可以更新本地分支,使其与远程分支保持同步。在执行拉取操作时,还可以选择将远程分支合并到当前本地分支上。
“提取”(Fetch)操作仅会从远程仓库中获取最新的提交记录,不会自动将其应用到本地分支。这样可以查看远程仓库上的变更情况,然后再决定是否将其合并到本地分支上。执行提取操作的命令是:
总结:
拉取操作(pull)= 提取操作(fetch)+ 合并操作(merge),会直接将远程分支的变更应用到本地分支。
提取操作(fetch)只会获取最新的提交记录,需要手动将其合并到本地分支。
签出、Checkout
checkout
是Git
中用于切换分支或还原文件的命令。
git checkout <分支名称> 可以切换到已经存在的分支。 git checkout -b <新分支名称> 可以创建一个新分支并切换到该分支。
IDEA中的签出和Checkout
是一个意思,对分支选择签出之后,会切换到当前的分支。