git
Pro Git
Atlassian Git Tutorial
Pro Git 简体中文翻译
GitX
yueyoum
V2EX  ›  git

还是个 GIT 的问题

  •  
  •   yueyoum · May 29, 2014 · 4242 views
    This topic created in 4389 days ago, the information mentioned may be changed or developed.
    本地修改的文件,没有commit,
    如果执行了 git reset --hard HEAD

    那些修改是不是不可能找回来呢?
    26 replies    2014-05-30 11:37:57 +08:00
    acthtml
        1
    acthtml  
       May 29, 2014
    有没有add 有的话 git reset,没的话没救。
    yueyoum
        2
    yueyoum  
    OP
       May 29, 2014
    @acthtml

    没有………………

    跑到同事那儿去操作, 然后把人家一天的工作搞报废了…………………………
    ijse
        3
    ijse  
       May 29, 2014
    如果文件没有tracked, 就没事。。
    yueyoum
        4
    yueyoum  
    OP
       May 29, 2014
    @ijse

    肯定是tracked了啊, 没tracked, git reset 根本不影响啊
    jsonline
        5
    jsonline  
       May 29, 2014 via Android
    没事别乱 hard
    kneep
        6
    kneep  
       May 29, 2014 via iPhone
    应该没救了
    ganxiyun
        7
    ganxiyun  
       May 29, 2014
    有些ide有local history,不知道有没有用
    yukirock
        8
    yukirock  
       May 29, 2014
    強烈建議把 git 目錄放到 Dropbox 目錄下,雙保險。
    NemoAlex
        9
    NemoAlex  
       May 29, 2014
    你同事改了一天都没有 commit 一次也是厉害
    jsonline
        10
    jsonline  
       May 29, 2014 via Android
    @NemoAlex 同感。
    ChiangDi
        11
    ChiangDi  
       May 29, 2014
    这怪你同事,一天都没commit
    rebornix
        12
    rebornix  
       May 29, 2014
    不同意楼上,有时候一天工作可能只是一个文件或者一个很小的feature,反复雕磨,不commit很正常。
    SoloCompany
        13
    SoloCompany  
       May 29, 2014
    JetBrains 党路过,表示 Local History 非常有用
    FatGhosta
        14
    FatGhosta  
       May 29, 2014
    学会git stash
    goofansu
        15
    goofansu  
       May 29, 2014
    goofansu
        16
    goofansu  
       May 29, 2014
    接15楼,我试了下,如果git add过,是可以找回的
    exch4nge
        17
    exch4nge  
       May 29, 2014   ❤️ 2
    commit要勤快,git stash也可。

    @rebornix GIT作为分布式的管理工具,我觉得可以修改一小部分就提交一次。到正式提交到服务器的时候,如果觉得commit太乱,可以先git rebase -i,整理一下commit,可以合并几个commit(同时可以改相关commit message),可以调整顺序,调整完顺序还可以只把前面几个有信心的commit提交到服务器上去。

    只要commit了,就不怕丢了,可以checkout,如果这commit被删,也基本上用reflog都回滚操作。
    peizh2006
        18
    peizh2006  
       May 29, 2014
    印象中add过就可以找回
    skydiver
        19
    skydiver  
       May 29, 2014
    只要add过都可以找回。
    ensonmj
        20
    ensonmj  
       May 29, 2014 via iPad
    vim的话也可以寄希望开了历史纪录
    itommy
        21
    itommy  
       May 29, 2014
    嗯嗯 应该这样像 @exch4nge 说的方式,无妨频繁 commit,rebase 整理。
    cyr1l
        22
    cyr1l  
       May 30, 2014
    JetBrains 的 local History 真的是非常好用, 还自带 diff.
    foru17
        23
    foru17  
       May 30, 2014
    我现在是在dropbox下放开发代码,之前试过有一次没commit 误输入rm -rf 了,从DP找回。add过的话,可以试一下 git reflog
    mahone3297
        24
    mahone3297  
       May 30, 2014
    add 过可以用git reflog查看历史
    没add过,算了吧。。。。
    dong3580
        25
    dong3580  
       May 30, 2014
    @goofansu
    幸好我养成了每次必定add的习惯,
    srjzcar
        26
    srjzcar  
       May 30, 2014
    个人开发不喜欢这么频繁的gc 团队就别省gc了~
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5189 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 114ms · UTC 05:53 · PVG 13:53 · LAX 22:53 · JFK 01:53
    ♥ Do have faith in what you're doing.