zoukankan      html  css  js  c++  java
  • git stash功能的使用

    一,git stash的作用:

          能够将所有未提交的修改(工作区和暂存区)保存至堆栈中,用于后续恢复当前工作目录

    说明:架构森林是一个专注架构的博客,地址:https://www.cnblogs.com/architectforest

             对应的源码可以访问这里获取: https://github.com/liuhongdi/

     说明:作者:刘宏缔 邮箱: 371125307@qq.com

    二,看一个git stash的例子:

    root@kubuntu:/data/git/clog# git status
    位于分支 dev
    尚未暂存以备提交的变更:
      (使用 "git add <文件>..." 更新要提交的内容)
      (使用 "git checkout -- <文件>..." 丢弃工作区的改动)
            修改:     a.txt
    修改尚未加入提交(使用 "git add" 和/或 "git commit -a"
    root@kubuntu:
    /data/git/clog# git stash 保存工作目录和索引状态 WIP on dev: 6a1ea30 e
    root@kubuntu:
    /data/git/clog# git status 位于分支 dev 无文件要提交,干净的工作区

    三,弹出stash时发生冲突报错:如何解决?

         要解决冲突,可以通过创建新的分支来解决冲突

         即:从当前创建新分支,暂存区的代码应用到新分支,

         而堆栈中保存的stash代码恢复到原分支

        

         弹出stash代码的命令:

    root@kubuntu:/data/git/clog# git stash pop
    error: 您对下列文件的本地修改将被合并操作覆盖:
            a.txt
    请在合并前提交或贮藏您的修改。
    终止中

    四,如何清除堆栈中的所有内容?

        

    root@kubuntu:/data/git/clog# git stash clear

    五,如何查看当前stash中的内容?

    root@kubuntu:/data/git/clog# git stash list

    六,stash功能使用需要注意的地方:

        如果存在还没有add到暂存区的文件

        则不能被stash,例如新增加还没做add的文件:

       看一个例子:

    root@kubuntu:/data/git/clog# git status
    位于分支 dev
    尚未暂存以备提交的变更:
      (使用 "git add <文件>..." 更新要提交的内容)
      (使用 "git checkout -- <文件>..." 丢弃工作区的改动)
            修改:     a.txt
    修改尚未加入提交(使用 "git add" 和/或 "git commit -a")
    root@kubuntu:/data/git/clog# vi b.txt
    root@kubuntu:/data/git/clog# git status
    位于分支 dev
    尚未暂存以备提交的变更:
      (使用 "git add <文件>..." 更新要提交的内容)
      (使用 "git checkout -- <文件>..." 丢弃工作区的改动)
            修改:     a.txt
    未跟踪的文件:
      (使用 "git add <文件>..." 以包含要提交的内容)
            b.txt
    修改尚未加入提交(使用 "git add" 和/或 "git commit -a"
    root@kubuntu:
    /data/git/clog# git stash 保存工作目录和索引状态 WIP on dev: 6a1ea30 e
    root@kubuntu:
    /data/git/clog# git status 位于分支 dev 未跟踪的文件: (使用 "git add <文件>..." 以包含要提交的内容) b.txt 提交为空,但是存在尚未跟踪的文件(使用 "git add" 建立跟踪)

     说明:在上面的例子中:b.txt文件,因为没有被add到暂存区,

              所以stash命令对其不起作用

  • 相关阅读:
    归并排序
    mysql优化
    树结构
    urllib库的使用
    linux常用命令
    mysql慢查询
    支付宝第三方支付
    类型(type)判断
    c语言自带的排序与查找
    多字节与宽字节转换
  • 原文地址:https://www.cnblogs.com/architectforest/p/12323312.html
Copyright © 2011-2022 走看看