当前位置:   article > 正文

git常用开发命令_git fetch origin

git fetch origin

在这里插入图片描述

1.修改后的代码提交流程

1.git add . (所有修改) 或 git add 文件名
2.git commit -m “说明”
3.git fetch origin [远程地址别名]
4.git checkout -b update[新建分支名] origin/develop[远程分支名]
5.git merge 本地分支名
6.git push origin 本地分支名:远程分支名

解释:

 git fetch <远程主机名> //这个命令将某个远程主机的更新全部取回本地[更新本地仓库的远程分支],后面提取时在指定对应分支名
  • 1

如果只想取回特定分支的更新,可以指定分支名:

$ git fetch <远程主机名> <分支名> //注意之间有空格
  • 1

取回的更新,在本地主机上要用"远程主机名/分支名"的形式读取。比如origin主机的master,就要用origin/master读取;
新建本地分支并将远程更新的指定分支放到该本地分支中

git checkout -b update #创建并切换到指定分支
git checkout -b update origin/develop #创建,切换分支并将其建立在远程跟踪分支之上【或者说与相应的分支关联起来】
  • 1
  • 2

与本地分支合并【注意一定是本地往远程分支上合并】

git merge 本地分支名
  • 1

将本地分支内容推到远程指定分支上去

git push origin 本地分支名:远程分支名
  • 1

git push 命用于从将本地的分支版本上传到远程并合并。
命令格式如下:

git push <远程主机名> <本地分支名>:<远程分支名>
  • 1

如果远程分支被省略,如上则表示将本地分支推送到与之存在追踪关系的远程分支(通常两者同名),如果该远程分支不存在,则会被新建

git push origin master 等效于
git push origin master:master
  • 1
  • 2

如果省略本地分支名,则表示删除指定的远程分支,因为这等同于推送一个空的本地分支到远程分支

git push origin :master 
git push origin --delete master
  • 1
  • 2

如果当前分支与远程分支存在追踪关系,则本地分支和远程分支都可以省略,将当前分支推送到origin主机的对应分支

git push origin
  • 1

2.获取最新代码并合并到本地分支

一个项目往往多人协同开发,我们经常会遇到这样的问题:A在本地开发完成后,将代码推送到远程,这时候B的本地代码的版本就低于远程代码的版本,B该如何从远程拉取最新的代码,并与自己的本地代码合并呢?大致有以下几种方式:

方式1[推荐]
该方式相对简单,不需要额外建立本地分支.

1.git remote -v [可以省略]
2.git fetch origin develop[远程指定分支名]
3.git merge origin/develop

解释:
Git要求每个远程主机都必须指定一个主机名,git remote -v 可以参看远程主机的主机名和网址.

git remote -v 
  • 1

origin git@git.calmcar.com:ccg/ccperception.git (fetch)
origin git@git.calmcar.com:ccg/ccperception.git (push)

上面结果显示表明,当前只有一台远程主机,叫做origin,以及它的网址。克隆版本库的时候,可以使用origin表示远程主机.

取回远程跟新.一旦远程主机的版本库有了更新(Git术语叫做commit),需要将这些更新取回本地,这时就要用到git fetch命令。

git fetch origin<上条命令查询的远程主机名>
  • 1

上面命令将某个远程主机的更新,全部取回本地,并跟新本地仓库对应的远程分支.此时对本地工作区的开发代码没有影响.如果只想取回特定分支的跟新,可以指定分支名.比如取回origin下面的develop分支

git fetch origin develop[远程指定分支名]
  • 1

合并最新代码到本地分支.

git merge origin/develop
  • 1

所取回的更新,在本地主机上要用"远程主机名/分支名"的形式读取.上面命令表示在当前分支上,合并远端分支origin/develop到当前分支。

方式2
相对于方式1,需要额外建立本地分支[加入额外分支的处理]

1.git remote -v [可以省略]
2.git fetch origin develop:new_branch
3.git merge new_branch
4.git branch -D new_branch

步骤2与方式1有所区别:

git fetch origin develop:new_branch
[在本地建立new_branch分支,并下载远端的origin/develop分支到new_branch分支中]
  • 1
  • 2

获取最新代码的同时,使用远程develop分支在本地新建一个临时分支(但不会切换到该分支).如果本地不存在new_branch分支, 则会自动创建一个新的new_branch分支, 如果本地存在new_branch分支, 并且是`fast forward’, 则自动合并两个分支, 否则, 会阻止以上操作.

合并最新代码到本地分支

git merge new_branch
  • 1

合并本地分支new_branch到当前分支

删除本地临时分支

git branch -D new_branch
  • 1

方式3
git pull:获取最新代码到本地,并自动合并到当前分支.不推荐这种方式,该方式直接合并,无法提前处理冲突。

1.git remote -v [可以省略]
2.git pull origin develop

直接拉取并合并最新代码

git pull origin develop
  • 1

拉取远端origin/develop分支并合并到当前分支

参考链接:
https://blog.csdn.net/qq_42780289/article/details/98049574

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/593494
推荐阅读
相关标签
  

闽ICP备14008679号