防止git拉合并
有时,当我执行“git pull origin branch”时,我意外地键入了错误的分支名称。防止git拉合并,git,merge,pull,Git,Merge,Pull,有时,当我执行“git pull origin branch”时,我意外地键入了错误的分支名称。 当XXX不是我当前在本地存储库中检查的分支时,有没有办法禁止“git pull origin XXX”?i、 e.仅当本地选中分支为XXX而非YYY时,才允许“git pull” 也就是说,我确实希望“合并”到hapen,但前提是我提取当前在本地存储库中检查的分支。有没有一种方法可以配置本地存储库,只允许从同一个分支名称进行“git pull” 例如: 案例1: 本地存储库上当前选中的分支为“测试
当XXX不是我当前在本地存储库中检查的分支时,有没有办法禁止“git pull origin XXX”?i、 e.仅当本地选中分支为XXX而非YYY时,才允许“git pull” 也就是说,我确实希望“合并”到hapen,但前提是我提取当前在本地存储库中检查的分支。有没有一种方法可以配置本地存储库,只允许从同一个分支名称进行“git pull” 例如: 案例1:
本地存储库上当前选中的分支为“测试” 这将代码从“测试”分支合并到我的本地“主”分支。==>我想禁止这样做 案例2:
本地存储库上当前选中的分支为“主” 这将合并从远程“主”分支到我的本地“主”分支的更改。==>这 没关系 我希望我能很好地解释我的问题
提前感谢。您应该使用
git fetch
以下哪项是:
从远程存储库中获取所有不可用的对象
目前在当地的一个
编辑:
(“git pull执行git获取,然后执行git合并”
)
编辑2:
好吧,你不能禁止拉入一个分支,因为它可以是本地名称,也可以是任何时候
但是您可以使用
git pull--abort
没有检查它应该是这样的
您可以做的另一件事是在进行git拉取之前将git checkout
发送到分支的SHA1
请记住,您始终可以通过以下方式撤消所有操作(不可逆):
您应该使用git fetch
以下哪项是:
从远程存储库中获取所有不可用的对象
目前在当地的一个
编辑:
(“git pull执行git获取,然后执行git合并”
)
编辑2:
好吧,你不能禁止拉入一个分支,因为它可以是本地名称,也可以是任何时候
但是您可以使用
git pull--abort
没有检查它应该是这样的
您可以做的另一件事是在进行git拉取之前将git checkout
发送到分支的SHA1
请记住,您始终可以通过以下方式撤消所有操作(不可逆):
使用不合并代码的git fetch
git pull
实际上是两个命令的组合git fetch
,然后是git merge
使用git fetch
,它不合并代码git pull
实际上是两个命令的组合git fetch
,然后是来自“man git pull”的git merge
:
git pull runs git fetch with the given parameters and calls git merge to
merge the retrieved branch heads into the current branch.
因此,
git fetch origin master
不执行自动合并
您还可以执行以下操作:
git fetch origin master:tmp
从获取的主分支创建新分支“tmp”。
然后,git merge FETCH\u HEAD
将显示任何冲突
这就是你的意思吗?摘自《男人的把戏》:
git pull runs git fetch with the given parameters and calls git merge to
merge the retrieved branch heads into the current branch.
因此,
git fetch origin master
不执行自动合并
您还可以执行以下操作:
git fetch origin master:tmp
从获取的主分支创建新分支“tmp”。
然后,git merge FETCH\u HEAD
将显示任何冲突
这就是你的意思吗?不要太担心,明智地使用git reset
可以消除混乱。只要确保每次提取存储库时都处于井然有序的状态。不要太担心,明智地使用git reset
可以消除混乱。只要确保每次拉动时,您的存储库都处于井然有序的状态。如果不明白您想要什么,请签出到分支主控,然后拉动,它将合并到当前分支。请重新编写您的问题?让它更清晰,因为本地分支与服务器上的分支是正交的,所以您不能这样做。但我认为有一些黑客这样做。我的意思是,你应该更新你的原始语言,这样其他人也可以帮助你,顺便说一句,如果可以做到的话,有人肯定知道,并会回答你的问题。这正是我要发布的内容。无论您的工作树是什么,都可以安全地运行git fetch
。如果不了解您想要的是什么,请先签出到分支主控,然后将其拉入,并将其合并到当前分支。请重新编写您的问题?让它更清晰,因为本地分支与服务器上的分支是正交的,所以您不能这样做。但我认为有一些黑客这样做。我的意思是,你应该更新你的原始语言,这样其他人也可以帮助你,顺便说一句,如果可以做到的话,有人肯定知道,并会回答你的问题。这正是我要发布的内容。无论您的工作树是什么,运行git fetch
总是安全的。@dritan,git reset--hard HEAD^
应该可以。是的,但这只重置最后一次提交。在合并期间,可能会有多个合并的提交。也就是说,我必须找出合并了多少次提交,然后运行git reset--hard HEAD~3来重置最后3次提交commits@dritan,git reset--hard HEAD^
应该可以。是的,但这只重置最后一次提交。在合并期间,可能会有多个合并的提交。也就是说,我必须找出合并了多少次提交,然后运行git reset--hard HEAD~3来重置最后3次提交