zoukankan      html  css  js  c++  java
  • Git Tips

    @1:

    1. 恢复某个已修改的文件(撤销未提交的修改):
    $ git checkout file-name

    2. revert 还原已提交的修改
    1) 还原最近一次提交的修改:
    $ git revert HEAD
    2) 还原指定版本的修改:
    $ git revert commit-id

    @2:

    Q: 我在项目目录中添加了一个文件,并且进行了commit,但还没有push,然后我进行了回滚,结果新添加的文件丢失了。实际上,我进行的操作比较多,我估计应该是这一操作的问题。

    A:从Git仓库中恢复已删除的分支或丢失的commit:

    [原文网址http://www.360doc.com/content/11/0117/18/2036337_87176514.shtml

      在使用Git的过程中,有时可能会有一些误操作,比如:执行checkout -f 或 reset -hard 或 branch -d删除一个分支,结果造成本地(远程)的分支或某些commit丢失这时,我们可以通过reflog来进行恢复,前提是丢失的分支或commit信息没有被git gc清除。一般情况下,gc对那些无用的object会保留很长时间后才清除的。reflog是git提供的一个内部工具,用于记录对git仓库进行的各种操作。可以使用git reflog show或git log -g命令来看到所有的操作日志。 

    恢复的过程很简单:

    1. 通过git log -g命令来找到我们需要恢复的信息对应的commitid,可以通过提交的时间和日期来辨别

    2. 通过git branch recover_branch commitid 来建立一个新的分支

    这样,我们就把丢失的东西给恢复到了recover_branch分支上了

    @3:FAQ : http://blog.csdn.net/dengjianqiang2011/article/details/9260435

    @4:git push & git pull : http://www.linuxidc.com/Linux/2012-04/58985.htm

    @5: github 上 Fork 别人的项目后的常用的操作指南: http://it.taocms.org/10/5831.htm 

    这里面包括如何把fork别人的代码更新到最新(跟上原作者)。

    @6: git shortcuts

    $ git config --global alias.st status
    $ git config --global alias.co checkout
    $ git config --global alias.ci commit
    $ git config --global alias.br branch

    @7: .gitignore 的格式规范如下:
    所有空行或者以注释符号 # 开头的行都会被 Git 忽略。
    可以使用标准的 glob 模式匹配。
    匹配模式最后跟反斜杠(/)说明要忽略的是目录。
    要忽略指定模式以外的文件或目录,可以在模式前加上惊叹号(!)取反

    @8:使用"cache"认证助手包来缓存认证信息,运行下面的命令来启用凭据缓存:
    $git config --global credential.helper "cache --timeout 3600" #每次输入密码将保存3600秒,可设置为其它值
    下面的命令可以查看"cache"认证助手的所有配置:
    $git help credential-cache

    @9: [this exceeds GitHub's file size limit_duplicate](https://stackoverflow.com/questions/35240899/this-exceeds-githubs-file-size-limit)

    先要把整个项目备份一下,然 后再执行下面的命令
    git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch app_dump.sql' --prune-empty --tag-name-filter cat -- --all

    @10: 

    取回远程主机的更新以后,可以在它的基础上,使用git checkout命令创建一个新的分支。
    $ git checkout -b newBrach origin/master
    上面命令表示,在origin/master的基础上,创建一个新分支。

  • 相关阅读:
    VLC播放器web插件接口(Part1)
    视频监控/存储系统设计要点
    CVR并发写入测试
    Darwin Streaming Server性能测试报告
    用Red5搭建支持WEB播放的实时监控视频
    RTSP协议-中文定义
    网格最短路径算法(Dijkstra & Fast Marching)
    三维网格精简算法(Quadric Error Metrics)附源码
    三维网格细分算法(Catmull-Clark subdivision & Loop subdivision)附源码
    网格测地线算法(Geodesics in Heat)附源码
  • 原文地址:https://www.cnblogs.com/lxw0109/p/git_qustions.html
Copyright © 2011-2022 走看看