git 学习

本文详细解析git pull与fetch的区别,指出fetch的安全优势,并介绍git同步、合并、rebase等核心流程,包括解决冲突和提交策略。了解如何保持提交历史整洁,以及合并和变基在分支管理中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

git 学习

pull (拉取)和fetch(获取)

  • pull 获取远程修改 并与本地合并
  • fetch 获取但不会与本地合并
  • 所以,fetch更安全

git 使用常见流程

step 1 合并之前先确保与远程库同步

  • 合并是git sync 操作

step2 合并

  • fetch

step3 合并提交

  • fetch & rebase
  • 此时会要求你是否merge
  • merge 完成
  • 此时,对方的修改就合并到了本地

解决冲突

  • 提交时(commit & push)发现仓库与本地有冲突

双击冲突文件

  • merge工具(tortoiseMerge)打开看冲突哪里
  • 编辑

冲突图标

  • 增加了一行
  • 已经删除了一行
    = 曾经修改但是现在一样了
    在这里插入图片描述
  • 修改后重新提交 commit & push

查看修改

  • 单个文件右键 diff with previous version
  • 或者查看多个文件: 文件夹空白处点击右键 git sync 同步窗口里查看
  • commit 按钮可以查看所有修改
  • 还有一个 compare with base ,比较新旧文件的差异
  • compare with working tree 可以看到远程库中别人的修改
  • blame 是文件所有修改者

commit 和push

  • commit 提交到本地的git 仓库
  • 最后一次性的push 提交到远程

gitignore 规则

  • 在这里插入图片描述

合并分支的办法除了merge还是rebase

  • rebase 变基

c3和c4 合并 为c2

  • 在这里插入图片描述
  • merge 最简单,他是把c3 c4 和 共同祖先 c2 三方合并。
  • 合并后得到一个新的快照 并提交。

变基

  • 变基是将一系列提交按照原有次序依次应用到另一分支上,而合并是把最终结果合在一起。
  • https://git-scm.com/book/zh/v2/Git-%E5%88%86%E6%94%AF-%E5%8F%98%E5%9F%BA
  • 提取c4的修改,然后在c3上应用。这个叫做变基
  • 如下:
  • 在这里插入图片描述
通过合并操作来整合分叉的历史

在这里插入图片描述

  • 把对分支a的修改挪到分支b上,好像重新播放一样。
  • 上图中
  • git checkout experiment 当前分支
  • git rebase master 目标分支
  • 俩分支有共同祖先c2
  • 上面的操作原理: 将 C4 中的修改变基到 C3 上
    在这里插入图片描述
  • 它的原理是首先找到这两个分支(即当前分支 experiment、变基操作的目标基底分支 master) 的最近共同祖先 C2,然后对比当前分支相对于该祖先的历次提交,提取相应的修改并存为临时文件, 然后将当前分支指向目标基底 C3, 最后以此将之前另存为临时文件的修改依序应用。
  • 对比c4 对c2的修改,村委临时文件c4plus
  • 然后将当前分支 指向目标基底c3

master 分支的快进合并

在这里插入图片描述

  • 一般我们这样做的目的是为了确保在向远程分支推送时能保持提交历史的整洁——例如向某个其他人维护的项目贡献代码时。 在这种情况下,你首先在自己的分支里进行开发,当开发完成时你需要先将你的代码变基到 origin/master 上,然后再向主项目提交修改。 这样的话,该项目的维护者就不再需要进行整合工作,只需要快进合并便可。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

等风来不如迎风去

你的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值