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

2017-02-20 12:05:32 +08:00
 malkavia
同事没 pull 就 push 了,关键的是还 push 上去了,冲掉了几十条 commit

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

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

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

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

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

@guokeke 确实,要推 fork 了

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

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

`git config -l | grep push.default` 看后面的值, 然后与上面网页中的解释对应一下,你就知道为啥了.
yov123456
2017-02-20 18:06:26 +08:00
sourcetree 在 push 的窗口有个选项叫强行推送,是不是勾了…
BoBoy
2017-02-20 19:30:35 +08:00
@yov123456 不是立即?
acumen
2017-02-20 23:49:59 +08:00
fork 一个自己的仓库,管理一个 upstream 和 origin 两个 remote repo ,远程有更新就 pull upstream ,再 push origin ,自己 fork 的仓库始终和上游仓库同步,开发的时候就建 branch ,提交代码就发 p-r ,方便 review ,安全又省心

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/341722

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX