设为首页 加入收藏

TOP

Python开发【笔记】:git&github 快速入门(七)
2017-10-08 11:50:06 】 浏览:1894
Tags:Python 开发 笔记 git&github 快速 入门
0fbc86b4a0318568a19bceb307 first commit

 

3、存储代码:

当前正在dev上进行的工作还没有提交,你接到一个修复一个代号101的bug的任务时,很自然地,你想创建一个分支issue-101来修复它;此时并不是你不想提交,而是工作只进行到一半,还没法提交,预计完成还需1天时间。但是,必须在两个小时内修复该bug,怎么办?

幸好,Git还提供了一个stash功能,可以把当前工作现场“储藏”起来,等以后恢复现场后继续工作:

[root@localhost spider]# echo 'create stash file' >> README.md 
[root@localhost spider]# git stash
Saved working directory and index state WIP on dev: 5a4ba42 Update README.md
HEAD 现在位于 5a4ba42 Update README.md
[root@localhost spider]# git status
# 位于分支 dev
无文件要提交,干净的工作区

现在,用git status查看工作区,就是干净的(除非有没有被Git管理的文件),因此可以放心地创建分支来修复bug。

首先确定要在哪个分支上修复bug,假定需要在master分支上修复,就从master创建临时分支:

[root@localhost spider]# git checkout master
[root@localhost spider]# git checkout -b issue-101
[root@localhost spider]# echo 'fixed bug' >> README.md 
[root@localhost spider]# git add README.md 
[root@localhost spider]# git commit -m 'fixed bug 101'
[issue-101 80feda6] fixed bug 101
 1 file changed, 1 insertion(+)
[root@localhost spider]# git push -u origin master

修复完成后,切换到master分支,并完成合并,最后删除issue-101分支:

[root@localhost spider]# git checkout master
[root@localhost spider]# git merge issue-101
[root@localhost spider]# git branch -d issue-101

太棒了,原计划两个小时的bug修复只花了5分钟!现在,是时候接着回到dev分支干活了!用git stash list命令看看:

[root@localhost spider]# git checkout dev
切换到分支 'dev'
[root@localhost spider]# git status
# 位于分支 dev
无文件要提交,干净的工作区
[root@localhost spider]# git stash list
stash@{0}: WIP on dev: 5a4ba42 Update README.md

工作现场还在,Git把stash内容存在某个地方了,但是需要恢复一下,有两个办法:

一是用git stash apply恢复,但是恢复后,stash内容并不删除,你需要用git stash drop来删除;另一种方式是用git stash pop,恢复的同时把stash内容也删了;

[root@localhost spider]# git stash pop
# 位于分支 dev
# 尚未暂存以备提交的变更:
#   (使用 "git add <file>..." 更新要提交的内容)
#   (使用 "git checkout -- <file>..." 丢弃工作区的改动)
#
#	修改:      README.md
#
修改尚未加入提交(使用 "git add" 和/或 "git commit -a")
丢弃了 refs/stash@{0} (601f28699d51d05c9eec7d15ebaa8698287c3105)

再用git stash list查看,就看不到任何stash内容了:

[root@localhost spider]# git stash list

你可以多次stash,恢复的时候,先用git stash list查看,然后恢复指定的stash,用命令:

[root@localhost spider]# git stash apply stash@{0}

  

 

首页 上一页 4 5 6 7 下一页 尾页 7/7/7
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Python文件系统功能:os模块 下一篇Python爬虫实战一之爬取QQ音乐

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目