gpt4 book ai didi

git - 为什么 `git push -f` 强制推送所有跟踪分支?

转载 作者:太空狗 更新时间:2023-10-29 13:48:15 26 4
gpt4 key购买 nike

Git 版本:1.7.12.3

正如问题所述,这对我来说似乎是一个非常糟糕的主意。没有任何额外的标志或确认 git push -f 将强制将所有跟踪分支推送到远程。

如果开发人员有几个过时的分支,它们正在跟踪远程,并且他执行了该命令,则所有跟踪分支都将回滚到他的过时副本,这会导致有值(value)的工作丢失。

这可能是无意中完成的,也可能是由对 git 不太熟悉的人完成的。在这种危险的情况下,git 似乎真的应该多做一些手 Handlebars 的工作,并且需要一个额外的标志,或者要求确认。

有没有办法解决这个问题?

最佳答案

因为现在是 2016 年 1 月,我想有必要向这个问题添加一些更新信息:

  1. 正如 hobbs 所说,git push --force 在推送当前或所有更改的分支方面完全像普通 git push 一样。
  2. git push 根据 push.default
  3. 的配置推送所有分支或单个分支
  4. post 中有更多详细信息,但为了仅推送当前分支,您的 .gitconfig 应该如下所示:
    [user]            name = User Name            email = example.mail@gmail.com    [push]            default = simple
  1. 为了在类Unix操作系统中看到您的.gitconfig,只需执行cat ~/.gitconfig。这post展示如何在 Windows 上执行此操作。
  2. 仅推送当前分支(简单 模式)仅在 Git 2.0(2014-12-17 发布)中成为默认设置。
  3. 那些使用 Git 1.7(或从 1.7 更新)的人,将 matching 模式作为默认模式(推送所有分支机构)。

关于git - 为什么 `git push -f` 强制推送所有跟踪分支?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12936730/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com