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

最近操作学习GIT,不懂求解决

  •  
  •   nilai · 2014-01-09 15:33:12 +08:00 · 4862 次点击
    这是一个创建于 3963 天前的主题,其中的信息可能已经有所发展或是发生改变。
    基本操作如下

    root@yzy-All-Series:~/soft/git# git clone https://github.com/simpl/ngx_devel_kit/
    Cloning into 'ngx_devel_kit'...
    remote: Reusing existing pack: 494, done.
    remote: Total 494 (delta 0), reused 0 (delta 0)
    Receiving objects: 100% (494/494), 147.23 KiB | 77 KiB/s, done.
    Resolving deltas: 100% (222/222), done.
    root@yzy-All-Series:~/soft/git#
    root@yzy-All-Series:~/soft/git# ls
    ngx_devel_kit
    root@yzy-All-Series:~/soft/git# cd ngx_devel_kit/
    root@yzy-All-Series:~/soft/git/ngx_devel_kit# ls
    auto docs ngx_auto_lib_core objs README src
    config examples notes patches README_AUTO_LIB TODO
    root@yzy-All-Series:~/soft/git/ngx_devel_kit# touch a.txt
    root@yzy-All-Series:~/soft/git/ngx_devel_kit# git add .
    root@yzy-All-Series:~/soft/git/ngx_devel_kit# git commit -a -m " "
    Aborting commit due to empty commit message.
    root@yzy-All-Series:~/soft/git/ngx_devel_kit# git commit -a -m "a"
    [master b948782] a
    0 files changed
    create mode 100644 a.txt
    root@yzy-All-Series:~/soft/git/ngx_devel_kit#
    root@yzy-All-Series:~/soft/git/ngx_devel_kit# rm -rf a.txt
    root@yzy-All-Series:~/soft/git/ngx_devel_kit# rm -rf config
    root@yzy-All-Series:~/soft/git/ngx_devel_kit# git commit -a -m "aaa"
    [master 9b7cc51] aaa
    1 file changed, 49 deletions(-)
    delete mode 100644 a.txt
    delete mode 100644 config



    现在怎么样可以把我删除或者修改的文件给找回来。 对GIT不熟悉 网上搜索了下好像可以用git checkout来找回,不过好你有点麻烦。 有没有像SVN中的 svn update 一下就把本地的文件同仓库的同步了。求解答。
    14 条回复    1970-01-01 08:00:00 +08:00
    9hills
        1
    9hills  
       2014-01-09 15:39:00 +08:00
    git revert HEAD
    spark
        2
    spark  
       2014-01-09 15:41:08 +08:00
    撤销上次操作:

    ```
    $ git revert HEAD
    ```

    要滚回指定 commit, 把 'HEAD' 换成 commit 的 id 就可以了.
    freefcw
        3
    freefcw  
       2014-01-09 15:50:18 +08:00
    还有一个方法可以取消上一次提交

    还可以git reset --soft HEAD^

    不过不熟悉这个命令的慎用
    nilai
        4
    nilai  
    OP
       2014-01-09 16:14:15 +08:00
    @9hills @spark
    root@yzy-All-Series:~/soft/git/ngx_devel_kit# git revert HEAD
    [master db40f57] Revert "aaaaRevert "aaa""
    1 file changed, 49 deletions(-)
    delete mode 100644 a.txt
    delete mode 100644 config
    root@yzy-All-Series:~/soft/git/ngx_devel_kit# ls
    auto examples notes patches README_AUTO_LIB TODO
    docs ngx_auto_lib_core objs README src


    可a.txt config 这两个文件还是没有回来啊
    9hills
        5
    9hills  
       2014-01-09 16:19:38 +08:00
    @nilai 你revert了多少次啊。。
    9hills
        6
    9hills  
       2014-01-09 16:20:48 +08:00
    @nilai 还是看书吧:http://git-scm.com/book/zh

    读一遍自然就会了,这种基础问题论坛里面问效率很低的
    lijinma
        7
    lijinma  
       2014-01-09 16:58:09 +08:00
    git log 看一下你需要到的点:(应该是你提交信息为a的点)

    比如:d35485dcca2637da0a3ed49955ace039ed6c1dcb

    然后 git reset --hard d35485dcca2637da0a3ed49955ace039ed6c1dcb
    initialdp
        8
    initialdp  
       2014-01-09 17:23:11 +08:00
    为什么不用sourceTree图形终端操作呢? 简单明了。
    hexor
        9
    hexor  
       2014-01-09 17:35:18 +08:00
    @freefcw

    没有关系 就算你用hard reset不小心reset掉commit了

    还是可以用

    git reflog 找回你所有的commit

    这东西最好是跟一个很会git的一对一, 让他教你. 成长飞快. 没有这个条件就要多问.
    然后就是要多用, 不要怕把数据玩坏.
    如果你还是怕玩坏, 你就在每次进行git操作的时候, copy你的git文件夹到备份.
    wwqgtxx
        10
    wwqgtxx  
       2014-01-09 17:49:13 +08:00 via Android
    不行直接用git gui,方便又快捷
    slixurd
        11
    slixurd  
       2014-01-09 17:58:02 +08:00
    在没有git rm的情况下只用了rm,是不会真正删除文件的,连回滚都不用,在另外的地方clone一下那些文件就回来了.不信你可以看看github上的对应文件有没有删除
    nilai
        12
    nilai  
    OP
       2014-01-09 19:29:48 +08:00
    感谢各位的指导。。。
    imxz
        13
    imxz  
       2014-01-09 19:49:05 +08:00
    《Git学习策略》 我学习完git后的总结,希望对你有用
    http://imxz.me/recommend/tips/git-for-version-control.html
    jiyinyiyong
        14
    jiyinyiyong  
       2014-01-11 09:19:55 +08:00
    基础问题就像是学骑车一样的, 只能靠练, 别人說多了反而没用
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5341 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 07:59 · PVG 15:59 · LAX 23:59 · JFK 02:59
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.