美文网首页
Git分支相关内容

Git分支相关内容

作者: darkTi | 来源:发表于2020-11-19 14:08 被阅读0次

首先来过一下git pullgit push的用法,了解过后,最后还是推荐每次pull、push时都把内容写全,省去不必要的麻烦。

git pull

1. 基本用法

  • git pull <远程主机名> <远程分支名>:<本地分支名>
  • git pull origin master:wt,就是将远程主机origin上的master分支拉取过来,并与本地的wt分支合并;
  • 如果后面的冒号省略的话,即git pull origin master,表示将远程主机origin上的master分支拉取过来,并与本地的当前所在分支合并;

git push

1.基本用法

  • git push <远程主机名> <本地分支名>:<远程分支名>
  • git push origin wt,如果远程分支被省略,则表示将本地分支推送到与之存在映射关系的远程分支,如果不存在映射关系的远程分支,则会被新建一个与本地分支同名的远程分支;(所以当你想要推送的远程分支featur与本地分支wt不同名且不存在映射关系,请一定写全!!!!!)
  • git push origin :feature,如果冒号前的本地分支省略,则表示删除指定的远程分支,因为这等同于推送一个空的本地分支到远程分支,等同于git push origin --delete feature所以这种形式慎用!!!!
  • git push origin如果当前本地分支与远程分支存在映射关系,则本地分支与远程分支都可以省略,即将当前分支推送到origin主机的对应分支;(记住~~仅限于存在映射关系,你才可以省略!!!!)
  • git push,当前本地分支只有一个远程分支(也就是说只有一个远程主机),那么它连主机名都可以省略;

下面结合情形来记录分支

  1. 你clone了一个新代码,记住git clone的时候只会把远程上的master分支clone下来,无法clone所有分支;
  2. 但远程上一共有master、dev、test三个分支,一般你需要把写的代码提到dev分支上,这时你git checkout dev,git会自动地生成一个本地的分支指针,相当于执行git checkout -b dev origin/dev(貌似这里仅适用于本地分支与远程分支同名的情况下,意思为切换到远端的dev分支,并在本地新建dev分支,且切换到本地dev分支);
  3. 此时,如果你不想本地与远程同名,那么你可以直接在本地新建分支git checkout -b wt,此时wt分支的代码就与dev分支上的保持一致(你在哪个分支下新建分支,新建分支的代码就与那个分支下的代码保持一致)
  4. 直接新建的本地的分支(git checkout -b XX这种只新建了本地分支)是不会自动和远程同步的(即映射);查看是否当前分支是否有映射分支,执行git branch -vv,括号中的蓝色字体就是映射得远程分支,如果没有,那就是没有映射的远程分支;
  5. 如果本地分支没有与远程分支映射,那么你在git pull或push的时候,要把所有内容都写全,即git pull <远端主机名> <远端分支>:<本地分支>git pull origin feature:wt)和git push <远程主机名> <本地分支名>:<远程分支名>git push origin wt:feature);
  6. 如果你想把本地分支与远程分支映射起来,那么执行git branch --set-upstream <本地分支> <远程主机名>/<远程分支>git branch --set-upstream wt origin/dev),关联之后呢,每次只需写git pullgit push即可,就不需要加其他内容了;
  7. 下面说一下合并代码的步骤(请一直保持本地分支与你要合并到的分支上版本一致
// 此时在本地分支wt上,相关功能都写在此分支上,写完提交到本地仓库
git add .
git commit -m "message"

// 把本地分支wt上的内容合并到远程分支dev
git checkout dev
git pull  // 更新一下dev最新的代码
git merge wt  //把wt分支上的内容合并到当前分支dev
git push 

//这时你又要切到wt分支上继续写
git checkout wt  //这时你可以git merge dev一下,使本地wt分支与dev分支代码一致,也可以不merge,wt本地分支只保留我自己的改动
  1. 最后wt分支上的代码合到远程dev上后,可以把本地分支wt删掉,git branch -d wt(因为wt这个分支只在本地啊,没有推到远程仓库,所以可以删除,当然在此分支上的改动都提交后删除,你也可以不提改动,直接强制删除,git branch -D wt

解决冲突

  1. 当你准备把你本地的分支合并出现冲突时,你要分清什么是“当前更改”和“传入的更改”;
  2. “本地更改”(<<<<<<<)就是你git pull从远端拉下来的代码;
  3. “传入的更改”(>>>>>>>)就是你git commit要上传的代码;
    冲突.png

关于分支的git命令

  1. git branch 查看本地分支;
  2. git branch -r 查看远端分支;
  3. git branch -a 查看所有的分支,包括本地和远端的;
  4. git branch -vv 查看本地分支的映射信息;
  5. git branch --unset-upstream 撤销本地分支与远程分支的映射关系;
  6. git checkout -b XX origin/dev 切换到远程分支dev,并新建本地分支XX且切换至XX分支上(这样子新建的分支会与远程分支有映射关系)
    image.png
  7. git branch -d XX 删除XX本地分支;
  8. 如果远端有dev这个分支,在本地直接git checkout dev分支名字一样),这时会自动在本地创建dev这个分支且与远端dev相关联(与第7条有点像啊,只是名字是否相同的区别);

相关文章

  • git分支相关内容

    Git 分支管理 几乎每一种版本控制系统都以某种形式支持分支。使用分支意味着你可以从开发主线上分离开来,然后在不影...

  • Git分支相关内容

    首先来过一下git pull与git push的用法,了解过后,最后还是推荐每次pull、push时都把内容写全,...

  • Git查看、删除、重命名远程分支和tag

    这篇文章记录我在使用git的过程中碰到远程分支和tag的相关内容,提纲: 查看远程分支删除远程分支和tag删除不存...

  • git常用命令

    分支管理 git 切换分支 git 查看远程分支 git 查看本地分支 git 创建本地分支 git 删除本地分支...

  • 关于Git使用笔记

    Git使用分支: 查看所有分支:git branch -a 创建分支:git branch de 切换分支:git...

  • git 查看远程分支、本地分支、删除本地分支

    1查看远程分支git branch -a 2查看本地分支git分支 3创建分支git分支测试 4删除远程分支git...

  • git分支指令

    git分支指令 查看git都有哪些分支:git branch -a(包括本地分支和远程分支)git branch ...

  • 创建与合并分支

    Git鼓励大量使用分支:查看分支:git branch创建分支:git branch 切换分支:git...

  • git分支和squelize-cli相关命令

    Git鼓励大量使用分支: 查看分支:git branch 创建分支:git branch 切换分支:git che...

  • 分支

    新建分支git branch [分支名] 切换分支git checkout [分支名] 新建分支并切换到分支git...

网友评论

      本文标题:Git分支相关内容

      本文链接:https://www.haomeiwen.com/subject/ieczbktx.html