• 2016-05-22

    到底是谁没有契约精神?

    Views: 2942 | No Comments

    前几天, 某个农产品网店做生意赔了几十万, 然后指责农民没有契约精神的事在知乎上讨论挺火. 但是, 约超过一半的人指责"农民没有契约精神", 当然, 也有不少人指出这个网店做生意赔钱的本质在于其不尊重市场规律而且没有现代商业所应有的品控体系导致的.

    不过, "农民没有契约精神"这样的字眼比较扎人, 而且, 我看到网络社交网站上不少莫名其妙的朋友也在附和, 基于完全没有道理的依据来附和, 这让我十分不爽.

    提到某个支持"农民没有契约精神"的言论, 这个言论漏洞百出, 但有些读过书的人竟然因为偏见而不认识其中的错误. 这个言论大致如下:

    某商家与农民群体签定合同, 不过, 合同细节没提, 从后来事情的发展来看, 应该是框架合同, 所以合同本身估计没有商定细节. 合同大体如言论中提到, 约定商家按2毛每斤的价格在第一年收购农民的蔬菜.

    第一年, 市场供给过剩, 价格大幅下跌至1毛每斤, 于是商家决定"慢慢地", "陆续地"履行合同, 价格仍按合同价. 很明显, 由于合同标的物是蔬菜, 具有严重的时间敏感性特点, 所以, 此商家已经毁约. 后来, 在农民的维权和当地部门强力之下, 商家不得不对自己的毁约行为进行补救, 按合同价格立即收购. 这个结果似乎给了商家错觉, 让他认为他已毁约这个行为并不存在, 并且他自己"很有契约精神", 事实上, 整个事情是商家先违约, 然后被惩罚, 后面的履约行为不过是对其违约行为的惩罚过程.

    基于某些考虑, 新合同继续. 条款和旧合同应该类似.

    第二年, 市场供给不足, 价格大幅上涨至3毛. 商家合理地要求农民按合同价格履约, 但农民故意违约.

    于是, 那个言论轻易地单方面指责农民"没有契约精神", 引得不少低级的知识分子赞同, 这是十分可笑的. 整个事情几年下来, 商家既没有契约精神, 农民也没有契约精神. 而且, 如果先后顺序对结论有决定性影响的话, 还是商家"先"不要脸单方毁约.

    有朋友提到, 这个事情其实反映的是市场不成熟, 这也是我的观点.

    一是当事双方不成熟. 商家只考虑价格, 不考虑供给数量, 这完全丧失了市场的基本要素. 农民没文化, 只能跟商家签定不成熟的合同, 最后导致合同违约. 从商业的角度, 这类合同根本就不应该出现, 哪有只定价格, 不定交易数量的远期交易合同? 这种合同严格意义上就是道德约定, 和古代社会的私下口头约定没有区别. 而且, 这个合同的标的是时间极度敏感的生鲜食品, 应当根据交易标的物的特点, 制定完善的交收步骤以及应对市场变化的措施等等, 但都没有.

    二是管理部门和法律不成熟. 商家违约被处罚要求继续履约, 而农民违约则无法被追究. 由于商家是一个, 而对应的农民成百上千, 每个农民的违约金额不过几百(原文如此), 显然, 追回损失的成本太高, 这也是农民违约而不被追究这种事实出现的客观原因.

    所以, 单方面指责"农民没有契约精神"是不科学的, 不符合事实的. 而且, 在面对没有契约精神的商家时, 农民出现了违约, 只单方面指责农民也是不道德的, 是滥用基本知识优势, 是非常虚伪的.

    Posted by ideawu at 2016-05-22 16:15:58
  • 2013-11-07

    git 常用操作

    Views: 10837 | 1 Comment

    创建分支

    git branch abc
    

    切换分支

    # 本地
    git checkout abc
    # 远端
    git fetch
    git checkout abc
    或者
    git branch abc origin/abc
    

    删除分支(本地)

    git branch -d abc
    

    删除服务器上的分支(远端)

    #git push origin :abc
    #或
    #git push origin --delete abc
    然后, 其它人必须调用 git fetch -p 同步状态
    

    合并分支到主干

    git checkout master
    git pull
    git merge --no-ff abc
    

    对比分支

    git diff master abc
    

    列出远程分支

    git branch -a
    

    修改 commit log

    git commit --amend
    

    查看文件变动历史

    git log --name-status
    

    git 回滚

    # 查看历史
    git log
    git reset --hard comit_id
    git push -f origin branch_name
    

    如果遇到类似 "The requested URL returned error: 401 Unauthorized while accessing" 的错误提示.

    Instead of:
    git clone https://github.com/org/project.git
    do:
    git clone https://username@github.com/org/project.git
    or
    git clone https://username:password@github.com/org/project.git
    

    git diff 忽略掉新文件

    --diff-filter=M
    

    分支覆盖

    用 dev 分支覆盖 master 分支(删除 master, 然后重建).

    git checkout dev
    git merge --strategy=ours master    # keep the content of this branch, but record a merge
    git checkout master
    git merge dev             # fast-forward master up to the merge
    

    git tag

    git tag abc
    git push origin abc
    
    git tag -d abc
    git push origin :refs/tags/abc
    

    git log

    git log
    git log -p file
    

    git diff

    git diff origin/master
    git diff commit_1 commit_2 file
    
    Posted by ideawu at 2013-11-07 13:39:48 Tags:
|<<<1>>>| 1/1 Pages, 2 Results.