美文网首页
老是记不清不常用但很重要的命令

老是记不清不常用但很重要的命令

作者: 方_糖 | 来源:发表于2019-08-12 17:56 被阅读0次
    一.已经git pull,但是发现出错了,想撤回的时候怎么办?

    1.在撤回本地修改:

    • git reflog查看分支历史变动记录
    image.png
    • git reset --hard <版本号>或者git reset --hard HEAD@{n}还原本地代码
      此时的<版本号>是错误版本的前一个版本,也就是图上的b9577868。所以还原命令应该是git reset --hard b9577868或者git reset --hard HEAD@{7}

    2.撤回远程提交:
    如果此时使用命令:git push origin <分支名>会提示本地的版本落后于远端的版本;
    所以我們要使用git push origin <分支名> --force覆盖掉远端的版本信息,使远端的仓库也回退到相应的版本,需要加上参数--force

    综上,撤回提交远程分支(pull)的提交命令为:
    git reflog
    git reset --hard <版本号>或者git reset --hard HEAD@{n}
    git push origin <分支名> --force

    另外补充一个刚发现的致命打击 。git push origin <分支名> --force只能在你的提交处于最新提交的时候才能使用,因为版本回退也会覆盖掉别人的提交

    二 . 合并其他分支的commit

    git cherry-pick commit-id
    其中commit-id可以用git log查看,也可以直接在仓库里找到要合并的commit,如图

    image.png
    三. git忽略修改的文件

    忽略此文件的修改:
    git update-index --assume-unchanged <files>

    取消忽略此文件的修改 :
    git update-index --no-assume-unchanged <files>

    四. git查看修改的文件

    git diff 文件名

    四. 暂存(stash)的用法

    git stash: 备份当前的工作区的内容,从最近的一次提交中读取相关内容,让工作区保证和上次提交的内容一致。同时,将当前的工作区内容保存到Git栈中。

    git stash pop: 从Git栈中读取最近一次保存的内容,恢复工作区的相关内容。由于可能存在多个Stash的内容,所以用栈来管理,pop会从最近的一个stash中读取内容并恢复。

    git stash list: 显示Git栈内的所有备份,可以利用这个列表来决定从那个地方恢复。

    git stash clear: 清空Git栈。此时使用gitg等图形化工具会发现,原来stash的哪些节点都消失了。

    相关文章

      网友评论

          本文标题:老是记不清不常用但很重要的命令

          本文链接:https://www.haomeiwen.com/subject/poxpjctx.html