linux – 当拉出不同的分支时,让“git pull”请求确认

linux – 当拉出不同的分支时,让“git pull”请求确认,第1张

概述当同时与许多项目和分支机构合作时,我偶尔也会犯愚蠢的错误,比如进入错误的分支.例如,在分支主机上我做了git pull origin dangerous_code并且没有注意到相当长的一段时间.这个小错误引起了很多混乱. 当我尝试拉出当前已检出的分支以外的分支时,有没有办法让git请求确认?基本上我想要它确认分支名称是否匹配(签出和被拉出的名称). 现在,我将重点介绍如何在执行任何拉动之前提示用户 当同时与许多项目和分支机构合作时,我偶尔也会犯愚蠢的错误,比如进入错误的分支.例如,在分支主机上我做了git pull origin dangerous_code并且没有注意到相当长的一段时间.这个小错误引起了很多混乱.

当我尝试拉出当前已检出的分支以外的分支时,有没有办法让git请求确认?基本上我想要它确认分支名称是否匹配(签出和被拉出的名称).

解决方法 现在,我将重点介绍如何在执行任何拉动之前提示用户进行确认.

不幸的是,因为没有预拉hook这样的东西,我认为你不能得到实际的pull命令来直接为你做这个.在我看来,你有两个选择:

1 – 使用fetch然后合并(而不是pull)

而不是运行git pull,运行git fetch,然后git merge或git rebase;分解拉入它自然组成的两个步骤会迫使你仔细检查你将要合并/重组的内容.

2 – 定义一个在拉动之前要求确认的别名

定义并使用pull wrapper(作为Git别名),如果您尝试从名称与当前本地分支不同的远程分支中提取,则会提示您进行确认.

将以下行写入〜/ bin /中名为git-cpull.sh的脚本文件(用于确认,然后拉):

#!/bin/sh# git-cpull.shif [ "" != "$(git symbolic-ref --short head)" ]then    while true; do        read -p "Are you sure about this pull?" yn        case "$yn" in            [Yy]*)                git pull $@;                break                ;;            [Nn]*)                exit                ;;            *)                printf %s\n "Please answer yes or no."        esac    doneelse    git pull $@fi

然后定义别名:

git config --global alias.cpull '!sh git-cpull.sh'

之后,例如,如果您运行

git cpull origin master

但是当前分支不是主分支,在实际执行任何牵引之前,系统会要求您确认.

$git branch* master$git cpull origin foobarAre you sure about this pull?n$git cpull origin masterFrom https://github.com/git/git * branch            master     -> FETCH_headAlready up-to-date.
总结

以上是内存溢出为你收集整理的linux – 当拉出不同的分支时,让“git pull”请求确认全部内容,希望文章能够帮你解决linux – 当拉出不同的分支时,让“git pull”请求确认所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1030768.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存