qweewq123qwe 发表于 2018-1-13 13:02:27

git分支切换与git rebase , git stash

  今天在dev分支开发直播的其他功能,老大突然发消息说在master分支修改一下网站文章的样式,因此发生了对git的一些了解.
  正在dev分支开发,那么dev分支开发的东西怎么办呢,这就要用的git的存储功能的,git stash向堆栈推送一个新的储藏,只要运行git stash这就要用的git的存储功能的
  

$ git stash  

Saved working directory and index state WIP on dev: 3b1687c 房间加载更多  

HEAD is now at 3b1687c 房间加载更多  

  那么怎么查看存储呢?git stash命令就是查看储藏的列表
  

$ git stash list  

stash@{0}: WIP on dev: 3b1687c 房间加载更多  

  但是用git status命令查看文件状态,发现文件被保存,但是图片没有,因此用git stash apply返回之前的状态,又用git add, git commit命令对暂存,然后又git stash,这样子就图片就被储藏了
  

$ git status  

On branch master  

Your branch is up-to-date with 'origin/master'.  

Untracked files:  

(use "git add <file>..." to include in what will be committed)  

  
         static/v1/images/back-top.png
  
         static/v1/images/video-loading.png
  

  
nothing added to commit but untracked files present (use "git add" to track)
  

  然后我git checkout master切换到master分支,对需求进行改动提交到远程服务器。之后,返回dev分支,那么怎么merge在master分支的改动呢,当然merge可以使用,但是感觉麻烦会有冲突,因此用了git rebase命令操作,
  先返回dev分支,git checkout dev,在dev分支用git stash apply使用以前储藏,然后git rebase master合并master分支到代码
  

$ git stash apply  

On branch dev  

nothing to commit, working directory clean  

  

$ git rebase master  

First, rewinding head to replay your work on top of it...  

Applying: 修改maste分支  

  参考文档:https://git-scm.com/book/zh/v1/Git-%E5%B7%A5%E5%85%B7-%E5%82%A8%E8%97%8F%EF%BC%88Stashing%EF%BC%89
  http://gitbook.liuhui998.com/4_2.html
页: [1]
查看完整版本: git分支切换与git rebase , git stash