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

Git 真是反人类!!!

  •  
  •   cheshirecat 2012-08-26 21:50:39 +08:00 7999 次点击
    这是一个创建于 4798 天前的主题,其中的信息可能已经有所发展或是发生改变。
    到底是什么东西啊。

    https://github.com/cheshirecats/CuriousWall

    请看。几个月没碰过本地的任何一个文件,登陆上去居然说有几个 uncommitted changes。看了一下 diff 根本啥区别都没有!怎么就说是整个文件全部不一样了呢???

    于是我只想把本地的改动全部炸掉,怎么这么简单的事情都不可能?删掉本地的目录和项目重新下载,居然还是这几个文件 uncommitted???

    I dont understand. Not changed at all.

    好吧。于是 commit 。然后就根本没办法 merge 另外一个贡献者之前的改动了,因为这样就明显冲突了。

    这是我二十年来见过的最反人类的软件。没有之一。整个命令集都是变态。SVN 多简单清晰好用。
    48 条回复    1970-01-01 08:00:00 +08:00
    hzlzh
        1
    hzlzh  
    PRO
       2012-08-26 21:52:29 +08:00
    你检查过编码格式有无变更?如:utf-8 -> utf-8 (without BOM)
    通常是编辑器造成
    noevil
        2
    noevil  
       2012-08-26 21:54:08 +08:00
    看来我不是人类。
    harmy
        3
    harmy  
       2012-08-26 21:56:52 +08:00
    先就事论事,是不是在不同的操作系统下提交过?有可能是换行符的问题。
    cheshirecat
        4
    cheshirecat  
    OP
       2012-08-26 21:57:15 +08:00
    @hzlzh 这个也怀疑过,但是根本就没有打开过文件,修改日期都是旧的。

    @noevil 哈哈哈哈。
    cheshirecat
        5
    cheshirecat  
    OP
       2012-08-26 21:59:35 +08:00
    现在只想把本地和整个branch全部炸掉,全部一切内容换成

    https://github.com/christofian/CuriousWall

    该怎么做啊啊啊。
    hzlzh
    6
    hzlzh  
    PRO
       2012-08-26 21:59:57 +08:00   1
    @cheshirecat 那你就考虑下3楼的说法,行尾格式有误。
    打开行尾查看即可:
    harryxu
        7
    harryxu  
       2012-08-26 22:00:44 +08:00
    这个问题我也碰到过,应该说和git本身没什么关系。
    如果是windows下的乌龟git,可能会在pull的时候自动转编还是换行符什么的,另外再检查下是不是文件权限有变化。
    skydiver
        8
    skydiver  
       2012-08-26 22:01:57 +08:00   1
    @cheshirecat 是不是删掉原来的,直接重新clone一份就行了
    feelinglucky
        9
    feelinglucky  
       2012-08-26 22:02:14 +08:00
    我承认我是标题党,我承认我只是看来评论的
    cheshirecat
        10
    cheshirecat  
    OP
       2012-08-26 22:02:15 +08:00
    @harmy @hzlzh 一个月前就有这种莫名其妙的 uncommited,commit 之后发现 diff 根本是空的,完全无法理解。这一个月来一次都没有打开过本地的文件。
    cheshirecat
        11
    cheshirecat  
    OP
       2012-08-26 22:02:53 +08:00
    @skydiver 不行。删掉了本地的项目和目录重新clone居然还是这五个文件uncommitted。于是我就不得不必须吐槽了。
    9hills
        12
    9hills  
       2012-08-26 22:04:29 +08:00
    @cheshirecat 在windows用git的苦逼男,hoho
    cheshirecat
        13
    cheshirecat  
    OP
       2012-08-26 22:04:35 +08:00
    @harryxu 这个解释倒有点可能。怎么这么差的软件都可以存在???我想应该是因为根本没有人在 windows 下面用吧。
    hzlzh
        14
    hzlzh  
    PRO
       2012-08-26 22:05:22 +08:00
    @cheshirecat 建议你先把这次的更改备份,然后把github的回滚,然后重新checkout出来,再覆盖上去之后提交,这时diff应该就是差异而非整个文件了。
    cheshirecat
        15
    cheshirecat  
    OP
       2012-08-26 22:06:20 +08:00
    @hzlzh 现在只想把本地和整个branch全部炸掉,全部一切内容换成 https://github.com/christofian/CuriousWall 的,该怎么做呢?这个 git 的文档和命令集太莫名其妙了。
    hzlzh
        16
    hzlzh  
    PRO
       2012-08-26 22:06:46 +08:00
    @cheshirecat Win下的Git客户端那么新,据说很好用。另外你用的什么编辑器
    harryxu
        17
    harryxu  
       2012-08-26 22:06:47 +08:00
    不是软件差的问题,msysgit还是乌龟git(具体我记不清了)在安装的时候有个选项,可以让你选择文件换行符还是编码的转换,有个选项是推荐跨平台使用时选的,你重装下,安装过程中仔细看下提示再选,然后再clone看下。
    hzlzh
        18
    hzlzh  
    PRO
       2012-08-26 22:08:27 +08:00
    @cheshirecat 把本地删除,从新fork或者clone
    cheshirecat
        19
    cheshirecat  
    OP
       2012-08-26 22:10:03 +08:00
    @hzlzh @harryxu 其实我用的是 GitHub 官方的那个新出的 windows 工具 ... 界面一看就特别弱的样子。看来必须换。

    编辑器是 notepad++,UTF-8 without BOM。
    cheshirecat
        20
    cheshirecat  
    OP
       2012-08-26 22:11:07 +08:00
    @hzlzh 从前删除本地之后还是阴魂不散。你试试 GitHub 的这个东西就知道有多烂了。我去换个。
    harryxu
        21
    harryxu  
       2012-08-26 22:12:03 +08:00
    @cheshirecat github的那个我就没用过了,我在windows下用的是msysgit+乌龟git,现在最新的用起来还不错的,没啥问题。
    cheshirecat
        22
    cheshirecat  
    OP
       2012-08-26 22:17:08 +08:00
    故事的起因是这个:

    https://github.com/cheshirecats/CuriousWall/pull/3

    GitHub 说 "This pull request cannot be automatically merged."

    What the bloody hell? 难道同时改多个文件就不能自动merge了?现在怎么才能merge?......
    bolv88
        23
    bolv88  
       2012-08-26 22:18:52 +08:00
    用着 还行
    clowwindy
        24
    clowwindy  
       2012-08-26 22:21:35 +08:00   3
    http://gist.github.com/3480048

    It's your own fault. Take it easy.
    hzlzh
        25
    hzlzh  
    PRO
       2012-08-26 22:23:31 +08:00   1
    @cheshirecat 既然是NP++ 编辑器,我基本确定你的问题是行尾符号转换造成的文件差异。
    看图吧:打开这个现实全部隐藏符号的选项,然后你分别找到那两个有区别的文件,瞧瞧结尾就是了。

    hzlzh
        26
    hzlzh  
    PRO
       2012-08-26 22:25:23 +08:00
    @cheshirecat 25楼正解,26楼是解决方案。
    cheshirecat
        27
    cheshirecat  
    OP
       2012-08-26 22:25:36 +08:00
    @clowwindy 嗯,现在的解释应该是 GitHub 的那个窗口编辑代码后会自动换掉换行符,所以就和本地的对不上了。
    tunetoystory
        28
    tunetoystory  
       2012-08-26 22:25:48 +08:00
    文件权限检查,关掉就没有了
    zyyzj
        29
    zyyzj  
       2012-08-26 22:31:28 +08:00
    另有一种可能性是:文件权限。
    选项:
    git config --system core.fileMode false
    禁用Git对本地权限的跟踪。
    在Widnwos下,安装cygwin使用git更靠谱。
    hzlzh
        30
    hzlzh  
    PRO
       2012-08-26 22:31:48 +08:00
    话说今晚我真够闲的,还下载了个NP++来折腾。
    qq286735628
        31
    qq286735628  
       2012-08-26 22:57:50 +08:00
    我之前也遇到这样的问题,尤其在win和ubuntu下面皆同步过代码后,特别严重~
    后来网上发现,git默认把文档权限也设置在内,例如ubuntu里面,如果文档从777变成了755,那么就会一片红一片绿
    hbc
        32
    hbc  
       2012-08-26 23:05:29 +08:00
    低端黑的感觉……
    imcotton
        33
    imcotton  
       2012-08-26 23:07:34 +08:00
    git config --global core.autocrlf false
    qq286735628
        34
    qq286735628  
       2012-08-26 23:33:57 +08:00
    @hzlzh ST2能够像NP++那样查看换行符吗?
    cheshirecat
        35
    cheshirecat  
    OP
       2012-08-27 00:04:06 +08:00
    @hbc 很赚钱的感觉...... :D :D :D
    hbc
        36
    hbc  
       2012-08-27 00:06:12 +08:00   1
    @cheshirecat 哈哈,快给我回血~
    NemoAlex
        37
    NemoAlex  
       2012-08-27 00:17:07 +08:00
    不用 Windows 就无烦恼了
    Air_Mu
        38
    Air_Mu  
       2012-08-27 00:20:51 +08:00
    GIT != GITHUB
    cloudzhou
        39
    cloudzhou  
       2012-08-27 00:23:07 +08:00
    权限和换行符,还有编码是麻烦的问题,作为一个兼职运维工程师对此深有感触,解决方法就是尽量使用单一环境,哈哈。我是不是能在这里推荐一下 https://www.gitshell.com/
    hzlzh
        40
    hzlzh  
    PRO
       2012-08-27 09:38:08 +08:00
    @qq286735628 可以,见26楼图
    hanf
        41
    hanf  
       2012-08-27 10:23:37 +08:00
    都是一水的苹果啊,是不是做web开发的多呢
    breestealth
        span class="no">42
    breestealth  
       2012-08-27 12:01:04 +08:00
    标题党到这个程度,也算是不容易了。
    ant_sz
        43
    ant_sz  
       2012-08-27 12:49:39 +08:00
    如果Git也反人类的话,那这个世界上没有啥好软件了。

    SVN那个水准的版本控制已经是上个时代的产品了,自从git出现,望风披靡。该被淘汰的总是会被淘汰的咯
    zaolian
        44
    zaolian  
       2012-08-27 13:02:59 +08:00
    @hanf 这两件事之间有什么必然的联系吗?请指教
    likuku
        45
    likuku  
       2012-08-27 13:08:19 +08:00
    写脚本,md5校验文件,比对md5码。
    likuku
        46
    likuku  
       2012-08-27 13:09:15 +08:00
    @hanf 作Linux/BSD的SA和脚本编程也是水果很方便~
    mcfog
        47
    mcfog  
       2012-08-27 17:05:50 +08:00
    我是来围观的
    paloalto
        48
    paloalto  
       2012-08-27 18:01:30 +08:00
    低端黑的感觉+1
    @hbc
    关于     帮助文档     自助推广系统     博客   &nbs; API     FAQ     Solana     905 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 32ms UTC 20:43 PVG 04:43 LAX 13:43 JFK 16:43
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86