git merge origin master和git merge master的区别(个人理解)
创始人
2024-03-20 23:50:11

先说结论

git merge origin master

  • 意思是当前的分支,进行合并,合并二个分支分别是远程分支master在本地的副本和本地分支的master

git merge master

  • 当前分支于本地所处的master分支进行合并

  • 还有就是
    • git merge origin master是把origin merge 到 master 上的说法是错误的!!!

git merge实践出真理(放弃,待填坑)

准备工作

  1. 建立二个分支

    • stream分支
    • stream-qiuye分支
  2. 三个分支分别在文件添加内容,并提交到远程(图片下面这行字忽略)

  1. 分支切换到main分支

前置需要了解

origin 并不是指得是远程的仓库,而是指得是远程仓库在本地的一个指针(这个指针有可能过时的)。当我们使用使用merge 的时候,我们进行合并的时候只是上一次fetch 从远程拿到的版本。不是远程仓库的最新版本

  • 在另外一个人向main分支推送了新内容,本地没有更新,并且本地所处main分支情况下进行下面二个操作(为保证效果,)

  • get merge origin

  • get merge origin/main

尝试(放弃,待填坑)

  • 分支都切换在main分支进行操作
  • 主分支名称我改了默认的,改为了main

git merge origin main操作合并(放弃,待填坑)

  • git merge origin main(另外一个人在main分支做了修改并提交到了远程服务器,并且本地还没有pull的情况)

  • 当然,你可以会出现这种情况

merge: origin - not something we can merge合并命令更换为即可,效果是一样的
git merge origin/main main

git merge main操作合并(放弃,待填坑)

  • git merge main

那么再看看看push吧

提前总结

#如果想在当前分支想要更新现在所处的分支或者上传到远程同名的分支
#直接下面一行代码就可以
git push/pull origin 分支名即可
#如果想要在其他分支更新或者推送其他分支,则需要完整的写法
git push/pull <远程主机名> <本地分支名>:<远程分支名>#git pull举例子
#比如我在stream分支,想要更新(pull)main分支,你可以像下面这样子做#方法1-先切换到main分支git checkout maingit pull origin main #表示远程分支和当前所处分支合并#方法2-不变更当前分支进行更新main分支(我不知道该怎么做-有的话可以评论留言)#git pull origin main:main如果直接这样子,会导致当前分支于main合并

说明

  • push写法你们可能像下面一样的写法
# 这句话代码意思就是
# 将本地的推送feature/stream到远程仓库的feature/stream
git push origin feature/stream
  • 不过其实这种写法不是完整的写法,而是一种简写,完整的写法应该是如下
# 这句话代码意思就是
#将本地的推送feature/stream到远程仓库的feature/stream
git push origin feature/stream:feature/stream
  • 完整的语法示范如下,所以后面的远程分支名不写,则表示远程分支是与当前分支合并
    • @具体可以看-git-pull
git push <远程主机名> <本地分支名>:<远程分支名>

同时git pull也是和git push是差不多的,只不过调换了下顺序最后,因为pull是拉取分支,用户肯定想要是默认输入远程分支,而不是本地分支

git pull <远程主机名> <远程分支名>:<本地分支名>

之前看过有人说git merge的时候没有origin就是本地和远程

  • 这老铁回答的没毛病,origin就代表的远程分支(可以这么认为),现在分支名称为feature-qiuye为例
  • 本地分支执行: git merge origin/feature
    • 就是代表本地分支和远程上的feature进行合并,也就是远程文件和本地文件合并,而非本地合并
  • 本地分支执行:git merge feature
    • 就是代表本地分支和本地上的feature进行合并,也就是本地文件进行合并操作

搜索问题之git pull 更新非当前分支会连同当前分支一起合并

如果当前分支是 master,那么执行 git pull origin test:test 不仅会合并 test-->origin/test,还会合并当前分支 master-->origin/test
我觉得主要是命令的语法有问题。如果用推送代码,那么你用 git push origin bch1:bch2  命令的目的就很明确。指定远程仓库,指定本地分支bch1推送到远程分支bch2.但是如果是git pull,这是拉取远程历史并同步到本地分支的动作。而你指定的分支又不是当前工作分支。这就很容易有歧义了。这个问题可以通过改变命令的方式来解决。先 git fetch 远程仓库的历史。再切换到要同步的本地分支,然后再merge origin/test 好了。或者是切换到 本地 test分支,再直接git pull origin/test 好了。

参考文章

git文档参考1

git文档参考2

git的origin的含义

Git 里面的 origin 到底代表啥意思?

git merge origin master和git merge origin/master的区别

git fetch,git pull

相关内容

热门资讯

埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...