【Git】Git 操作命令可视化(五):git clone、git fetch、git pull、git push、git pull --rebase、解决远程仓库与本地仓库的代码冲突

这篇具有很好参考价值的文章主要介绍了【Git】Git 操作命令可视化(五):git clone、git fetch、git pull、git push、git pull --rebase、解决远程仓库与本地仓库的代码冲突。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

二、远程操作

(一)基础篇

1. git clone

git可视化,Git,git,github

main是本地的main分支,o(origin)/main是表示本地拉去下来的远程的main分支

o/main分支记录了远程仓库拉取时的分支状态

远程分支有一个特别的属性,在你切换到远程分支时,git会自动进入分离 HEAD 状态(这样做是因为git不想让你在本地就能直接进行修改远程仓库代码的操作)

2. git fetch(难点)

git可视化,Git,git,github

从远程仓库获取数据,并将本地仓库中的远程分支更新成远程仓库相应分支最新的状态

git fetch 完成了仅有的但是很重要的两步:

1)从远程仓库下载本地仓库中缺失的提交记录
2)更新保存在本地的远程分支指针( o/main)

但是!git fetch 并不会改变你本地仓库指针的状态。它不会更新你的 main 分支,也不会修改你磁盘上的文件,意思是本地仓库此时并没有与远程仓库完全同步!

3. git pull

git fetch + git merge o/main :

git可视化,Git,git,github

本地仓库合并远程仓库 

git pull :

git可视化,Git,git,github

 可以看出:git pull  =  git fetch + git merge

同样用于本地仓库合并远程仓库

4. git push 

git可视化,Git,git,github

git push 负责将变更上传到指定的远程仓库,并在远程仓库上合并你的新提交记录

本地仓库也会将o/main更新为远程仓库的状态

5. 解决远程仓库与本地仓库可能存在的冲突:2种方法

法一  git fetch + git rebase o/main + git push :

git可视化,Git,git,github

 先将远程仓库的最新数据更新到本地仓库,再改变本地仓库指针指向节点的基节点(上一个节点),再进行提交

这种做法的核心思想是在本地重新开辟一条和远程仓库一样的分支,再将最新的本地修改嫁接到新分支上,再进行提交,避免冲突

法二  git fetch + git merge o/main + git push :

git可视化,Git,git,github

这种做法同上面rebase的共同点在于,通过在本地仓库解决冲突,然后再提交远程,但是在本地进行的具体git操作有差别

这种做法,直接将远程和本地仓库先进行代码合并,再提交到远程仓库

在实操中,通过idea内置的git解决代码冲突时,更常用到的其实是这种,先pull下来远程代码,然后在本地进行代码合并解决冲突,在push进远程 

法一变体  git pull --rebase + git push :

git可视化,Git,git,github

 前面已经介绍过 git pull 就是 fetch 和 merge 的简写,类似的 git pull --rebase 就是 fetch 和 rebase 的简写!

法二变体  git pull + git push :

git可视化,Git,git,github

 实务中最常用的方法!文章来源地址https://www.toymoban.com/news/detail-715803.html

到了这里,关于【Git】Git 操作命令可视化(五):git clone、git fetch、git pull、git push、git pull --rebase、解决远程仓库与本地仓库的代码冲突的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Git与Git可视化工具TortoiseGit-小乌龟安装和配置

    官网链接: https://git-for-windows.github.io/ 文件位置存储,可根据自己盘的情况安装 安装配置文件,自己需要的都选上,下一步 不创建启动文件夹,下一步: 选择默认的编辑器,我们直接用推荐的就行,下一步 勾上第二项,这样就可以在cmd中操作,下一步 使用默认设置就行,下

    2024年02月08日
    浏览(54)
  • Git 可视化工具 Fork 使用指南

    转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/125135486 本文出自【赵彦军的博客】 最近遇到一个新项目,经过数年的积累,大概有 30000 个分支,用可视化工具打开直接卡死。 由于分支实在是太多了,一般的可视化工具,直接卡死,比如 Sourcetree 就直接卡死,测试了

    2024年01月25日
    浏览(59)
  • 如何在IDEA可视化工具中使用Git

    通过Git命令可以完成Git相关操作,为了简化操作过程,我们可以在IEDA中配置Git,配置好后就可以在IDEA中通过图形化的方式来操作Git。 5.1 在IDEA中配置Git 在IDEA中使用Git,本质上还是使用的本地安装的Git软件,所以需要提前安装好Git并在IDEA中配置Git。 Git安装目录: 解释说明:

    2024年01月22日
    浏览(56)
  • IDEA中Git及可视化工具TortoiseGit简单使用

    Git教程 如果需要切换分支,可在项目上右键,Git中选择branches… 在弹出页面中,在远程分支模块中,移动到对应分支上点击checkout即可 选择对应更新分支,点击pull按钮即可 点击merge进行冲突处理 点击后本地冲突页面显示为解决冲突后的最终结果 远程仓库: 冲突解决后,需更新最终结

    2023年04月08日
    浏览(48)
  • Mac版Fork使用(git可视化客户端)

    最近找git的可视化客户端找到了一个Fork,功能强大。但是在找他的教程时发现都大多数博主说的都不是太清楚,所以今天自己做一个关于Fork的教程。 这是官网的地址Fork - a fast and friendly git client for Mac and Windows(官网下载收费,需要绿色软件滴滴我) URL就是你的远程仓库地址

    2024年02月16日
    浏览(64)
  • Flink 客户端操作命令及可视化工具

    Flink 提供了丰富的客户端操作来提交任务和与任务进行交互。下面主要从 Flink 命令行、 Scala Shell 、 SQL Client 、 Restful API 和 Web 五个方面进行整理。 在 Flink 安装目录的 bin 目录下可以看到 flink , start-scala-shell.sh 和 sql-client.sh 等文件,这些都是客户端操作的入口。 run 运行任务

    2024年02月04日
    浏览(198)
  • vs code 可视化git diff比较历史文件与当前文件(git lens插件)

    首先我们需要安装git lens插件 和git graph插件 然后 我想比较first和 当前HEAD的文件差异 如果使用命令行,就是 但是这样很不方便,不能可视化 如果安装了git lens 只需要 打开想看的文件 打开侧边栏的git标志,然后打开FILE HISTORY。这里就显示了所有与该文件修改有关的commit 3. 点

    2024年02月16日
    浏览(54)
  • git:只clone或fetch某个分支最新版本的内容

    参考: 【解决】Git如何只克隆远程仓库最新的一个版本(不拷贝其他所有历史版本)_克隆github远程仓库代码的当前版本_COCO56(徐可可)的博客-CSDN博客

    2024年02月13日
    浏览(53)
  • [git可视化软件]gitkraken6.5.1 免费版不能正常使用的解决办法

    6.5.1免费版已经无法使用!!! 现在是2023-02-28 这款工具已经废除了6.5.1版本的使用功能了,我直接卡在登陆界面进不去项目了. 要想继续管理私有项目,只能升级最新版的软件,并且开通会员.会员费用高的一批,一年要59.4美元.约合人民币409 就像评论区的大佬说的那样,在host中对gitkr

    2024年02月10日
    浏览(57)
  • 如何通过TortoiseGit可视化工具查看Git管理的版本树和信息(工作树变更)内容

    黑色直线:master分支和基于master分支拉取基础分支都在这条线上,是一条直线。 其他线条:新开分支一定会增加一条线,但不一定每一条线分别代表一个分支。 注:如果一直是一个人,在同一个本地分支改的话,会一直是这条黑线。 即: 新的分支commit的差异,会产生新的支

    2024年02月04日
    浏览(127)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包