V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
git
Pro Git
Atlassian Git Tutorial
Pro Git 简体中文翻译
GitX
malkavia
V2EX  ›  git

git push 默认使用了 -f ,是哪里配置的吗?

  •  
  •   malkavia · 2017-02-20 12:05:32 +08:00 · 5841 次点击
    这是一个创建于 2865 天前的主题,其中的信息可能已经有所发展或是发生改变。
    同事没 pull 就 push 了,关键的是还 push 上去了,冲掉了几十条 commit

    我刚刚过去看了一下,直接使用 git push 居然会默认使用 forced update

    请问是哪里可以配置的吗?还真没见过这种情况了
    20 条回复    2017-02-20 23:49:59 +08:00
    bombless
        1
    bombless  
       2017-02-20 12:07:21 +08:00
    skydiver
        2
    skydiver  
       2017-02-20 12:21:21 +08:00
    弄了个别名呗 alias.push=push -f
    penjianfeng
        3
    penjianfeng  
       2017-02-20 12:25:10 +08:00
    看你同事是命令行下操作还是图形客户端,图形客户端貌似会默认加上-f,至少我看到同事有干过这种事,拉代码的时候发现的,发现她的 sourcetree 执行的是 push -f
    mahone3297
        4
    mahone3297  
       2017-02-20 12:31:49 +08:00
    force 就 force 咯,当然不能让他 push 到公共的分支,每个人开发,不是都拉出一个新的分支来做么?
    xiaket
        5
    xiaket  
       2017-02-20 12:38:12 +08:00
    锁 branch 是美德
    malkavia
        6
    malkavia  
    OP
       2017-02-20 13:10:14 +08:00
    @bombless 要是 git 的 bug 就没办法了..我叫他换个版本的 git 试一下

    @penjianfeng 我刚刚在他电脑上用命令行操作的,没加-f ,也直接就 force 了...

    @skydiver 同事一直用的是 eclipse 的插件,应该不会弄别名

    @mahone3297 同事在隔壁团队,刚刚由 svn 转到 git 上来,团队负责人都还不太熟,所以用的是 Centralized Workflow
    jinyang656
        7
    jinyang656  
       2017-02-20 13:27:18 +08:00
    我在 Windows 下 用了 Bash on Ubuntu on Windows 然后装了 oh-my-zsh, git psuh 会把本地所有分支都推一遍,某一次就加了-f ,然后我就哭了😂,没找到问题出在哪
    yov123456
        8
    yov123456  
       2017-02-20 13:32:35 +08:00 via iPhone
    git reflog 找回来啊…
    h3nng
        9
    h3nng  
       2017-02-20 13:45:13 +08:00
    master 分支搞权限啊,其他人只能 push 到分支
    guokeke
        10
    guokeke  
       2017-02-20 13:47:45 +08:00
    fork 一下更安全
    qianguozheng
        11
    qianguozheng  
       2017-02-20 14:00:31 +08:00
    这年头“同事”真的,哈哈
    penjianfeng
        12
    penjianfeng  
       2017-02-20 14:29:14 +08:00
    @malkavia 话说 force 就 force 呗,各自在各自的分支上开发就行了
    malkavia
        13
    malkavia  
    OP
       2017-02-20 14:49:37 +08:00
    @penjianfeng @yov123456 找回来是已经找回来了,但就是想弄清楚,为啥会在命令行敲个 git push ,会直接带上-f

    @guokeke 确实,要推 fork 了

    @qianguozheng 他们团队之前都是用 svn ,年后才切到 git 上来,我 git 用的相对比较多而已,人家有问题向我求助也是尽量帮着解决一下
    cxbig
        14
    cxbig  
       2017-02-20 15:07:22 +08:00
    刚从 SVN 转过来不是理由
    SVN 是 Centralized Workflow ,难道你们 Git 也是这么用?我是不是可以理解成你们都是 master 单线推进?
    一个简单的 Git-flow 团队都搞不定,你是不是该考虑换一个工作了。。。
    penjianfeng
        15
    penjianfeng  
       2017-02-20 15:41:00 +08:00
    @malkavia 楼上不是有人说了么,看下是不是设置了 alias,还有就是你们用 git 都没个 gitflow?那还不如还退回 svn 呢,你可以给那个团队提个意见,如果有权限,可以给他们培训下,这种事情是极其坑爹的
    Havee
        16
    Havee  
       2017-02-20 17:35:30 +08:00
    善用分支,看团队大小与项目复杂性,来决定各自的流程与规范的管理模型
    xqin
        17
    xqin  
       2017-02-20 17:44:47 +08:00   ❤️ 1
    @jinyang656

    https://git-scm.com/docs/git-config#git-config-pushdefault

    `git config -l | grep push.default` 看后面的值, 然后与上面网页中的解释对应一下,你就知道为啥了.
    yov123456
        18
    yov123456  
       2017-02-20 18:06:26 +08:00 via iPhone
    sourcetree 在 push 的窗口有个选项叫强行推送,是不是勾了…
    BoBoy
        19
    BoBoy  
       2017-02-20 19:30:35 +08:00 via iPhone
    @yov123456 不是立即?
    acumen
        20
    acumen  
       2017-02-20 23:49:59 +08:00 via iPhone
    fork 一个自己的仓库,管理一个 upstream 和 origin 两个 remote repo ,远程有更新就 pull upstream ,再 push origin ,自己 fork 的仓库始终和上游仓库同步,开发的时候就建 branch ,提交代码就发 p-r ,方便 review ,安全又省心
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   6031 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 178ms · UTC 02:12 · PVG 10:12 · LAX 18:12 · JFK 21:12
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.