首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

2013.11.14 ——— git学习之旁支操作

2013-11-18 
2013.11.14 ——— git学习之分支操作2013.11.14 ——— git学习之分支操作git branch //显示当前分支git branch

2013.11.14 ——— git学习之分支操作
2013.11.14 ——— git学习之分支操作

git branch //显示当前分支git branch test //新建一个test的本地分支git branch -d test //删除test分支git checkout -b dev origin/dev //检出一个远程分支的本地分支或者git checkout --track origin/dev //这个默认本地分支名字为dev 上面的可以改变名字git checkout XXX //切换分支git checkout -b test //新建并切换的test本地分支





问题1、在master上面的一个commit,但是应该是在dev上修改的,修改错了,这个时候 需要把master的commit移到dev上来,总不能重新修改吧



git checkout mastergit log$ git logcommit ec8c07e36327c2418b7774cfbcd997d9fb178c95Author: lipeng <lipeng@xunlei.com>Date:   Thu Nov 14 10:53:49 2013 +0800    lipeng update 'recommend' expandableListViewcommit e7d10875796d32b34b60efe3bfd4178b5f102c2fAuthor: xuyong <suyong@xunlei.com>Date:   Wed Nov 13 16:42:23 2013 +0800    恢复到merge dev分支新搜索界面时落了些东西commit 13c4fda4305e658865a99ca3d4988e3409ecf589Author: xuyong <suyong@xunlei.com>Date:   Wed Nov 13 16:19:04 2013 +0800    恢复到merge dev分支新搜索界面之前然后 复制下你要移动的那个commit ec8c07e36327c2418b7774cfbcd997d9fb178c95git checkout devgit cherry-pick ec8c07e36327c2418b7774cfbcd997d9fb178c9

这样就ok了

问题二:master已经的那个commit已经复制过去了 但是master上面依然还有那个commit,我们需要删除这个commit

git checkout mastergit reset HEAD~  //删除第一个commit ~后面可以跟数字 表示最近的几次提交git log //发现最近的一次提交没有了git status //如下 发现暂存区里面还有很多东西# On branch master# Changes not staged for commit:#   (use "git add/rm <file>..." to update what will be committed)#   (use "git checkout -- <file>..." to discard changes in working directory)##       modified:   PhoneKankan/res/layout/fragment_recommend.xml#       modified:   PhoneKankan/res/layout/home_video_gridview.xml#       modified:   PhoneKankan/res/layout/video_image_item.xml#       modified:   PhoneKankan/src/com/kankan/phone/recommend/RecommendFragmen.java#       deleted:    PhoneKankan/src/com/kankan/phone/recommend/VideoGridView.jaa#       modified:   PhoneKankan/src/com/kankan/phone/recommend/VideoGroupListViwAdapter.java## Untracked files:#   (use "git add <file>..." to include in what will be committed)##       PhoneKankan/res/layout/home_video_gridview_title.xml#       PhoneKankan/src/com/kankan/phone/recommend/MyGridView.javano changes added to commit (use "git add" and/or "git commit -a")git checkout -f  //取消所有暂存区修改git status  //新加的没有跟踪的文件 还是存在的 需要手动删除下# On branch master# Untracked files:#   (use "git add <file>..." to include in what will be committed)##       PhoneKankan/res/layout/home_video_gridview_title.xml#       PhoneKankan/src/com/kankan/phone/recommend/MyGridView.javanothing added to commit but untracked files present (use "git add" to track)$ rm PhoneKankan/res/layout/home_video_gridview_title.xmlSun@COSTARTER /e/Project/kankan (master)$ rm PhoneKankan/src/com/kankan/phone/recommend/MyGridView.javaSun@COSTARTER /e/Project/kankan (master)$ git status# On branch masternothing to commit, working directory clean

另外 简单起见 也可以使用
git reset --hard HEAD~

会将最新的1次提交全部重置,就像没有提交过一样。

热点排行