git 拉取所有分支

  1. 新增pull-all.sh
  2. pull-all.sh内容如下
    #!/bin/sh
    main() {
      REMOTES="$@";
      echo $REMOTES;
      if [ -z "$REMOTES" ]; then
        REMOTES=$(git remote);
      fi
      REMOTES=$(echo "$REMOTES" | xargs -n1 echo)
      CLB=$(git branch -l|awk '/^\*/{print $2}');
      echo "$REMOTES" | while read REMOTE; do
        git remote update $REMOTE
        git remote show $REMOTE -n \
        | awk '/merges with remote/{print $5" "$1}' \
        | while read line; do
          RB=$(echo "$line"|cut -f1 -d" ");
          ARB="refs/remotes/$REMOTE/$RB";
          LB=$(echo "$line"|cut -f2 -d" ");
          ALB="refs/heads/$LB";
          NBEHIND=$(( $(git rev-list --count $ALB..$ARB 2>/dev/null) +0));
          NAHEAD=$(( $(git rev-list --count $ARB..$ALB 2>/dev/null) +0));
          if [ "$NBEHIND" -gt 0 ]; then
            if [ "$NAHEAD" -gt 0 ]; then
              echo " branch $LB is $NBEHIND commit(s) behind and $NAHEAD commit(s) ahead of $REMOTE/$RB. could not be fast-forwarded";
            elif [ "$LB" = "$CLB" ]; then
              echo " branch $LB was $NBEHIND commit(s) behind of $REMOTE/$RB. fast-forward merge";
              git merge -q  $ARB;
            else
              echo " branch $LB was $NBEHIND commit(s) behind of $REMOTE/$RB. reseting local branch to remote";
              git branch -l -f $LB -t $ARB >/dev/null;
            fi
          fi
        done
      done
    }
    
    main $@
    
    
    
    

  3. 将pull-all.sh放到git的安装路径中的cmd文件夹中
  4. 在git bash中,执行命令     pull-all.sh   
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
拉取其他分支的代码,你可以使用`git merge`或`git rebase`的方式。下面是两种方式的具体步骤: 1. 使用`git merge`方式拉取其他分支的代码: - 首先,添加并提交你当前分支上的所有修改: ``` git add . git commit -m '提交说明' git push ``` - 然后,使用`git pull`命令来拉取具体的分支: ``` git pull origin 分支名 ``` - 如果有冲突产生,解决冲突后再次提交: ``` git add . git commit -m '提交说明' git push origin 当前分支名:当前分支名 ``` 2. 使用`git rebase`方式拉取其他分支的代码: - 首先,添加并提交你当前分支上的所有修改: ``` git add . git commit -m '提交说明' git push origin 当前分支名:当前分支名 ``` - 然后,切换到目标分支: ``` git checkout 目标分支 ``` - 拉取目标分支的代码并解决冲突(如果有): ``` git pull origin 目标分支:目标分支 git add . git commit -m '提交信息' git rebase --continue ``` - 最后,将更新后的代码推送到你的开发分支: ``` git push origin 当前分支名:当前分支名 ``` 以上是两种常用的方式来拉取其他分支的代码。根据你的具体需求和情况,选择合适的方式进行操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Git-拉取别的分支的代码/合并多个commit](https://blog.csdn.net/zhumizhumi/article/details/116533995)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值