您的位置:首页 > 其它

git基础教程三

2014-11-03 16:22 141 查看
1.分支管理策略

通常合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息。

如果要强制禁用Fast forward模式,Git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息。

git merge [--no-ff] -m [提交信息][分支名]

这种合并方式会产生一次新的提交,合并分支时,加上--no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,

而fast forward合并就看不出来曾经做过合并;所以开发中尽量使用这种方式合并。

git log --graph --pretty=oneline --abbrev-commit 查看历史分支情况

2.分支处理

1) bug分支

当在一分支开发过程中,需要切换到另一分支修改bug;此时,你可以先提交当前分支,切换bug分支修改bug;若不想提交,可以先储存当前分支;

git stash 储存分支

git stash list 查看储存情况,一个分支可以多次储存

完成bug修复后,回到当前分支,还原储存;

git stash apply 还原储存

git stash drop 删除储存

git stash pop 还原并删除储存

2) 新建分支

若新建分支,并完成分支工作,在准备提交代码时,发现该新建分支不需要了(需求变更,555555555……),此时需要删除新建分支;

git branch -d [分支名] 删除分支

结果git会提示:该新建分支还没合并,不能删除!

git branch -D [分支名] 强行删除分支

3.修改管理

1) 每次修改都需要add

git每次修改都需要add,假如add之后又有了新的修改,并没有将新的修改add就commit了,那个新的修改是不会commit到版本库里的;

第一次修改 -> git add -> 第二次修改 -> git commit 第二次修改是不会被commit

第一次修改 -> git add -> 第二次修改 -> git add -> git commit 第二次修改被commit

2) 撤销修改

撤销修改有两种情况:

一种是修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态:

git checkout -- [文件名] 将文件(修改)从工作区删除(其实就是用版本库的版本覆盖本地)

一种是已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态:

git reset HEAD [文件名] 将文件(修改)从暂存区回退到工作区

git checkout -- [文件名] 将文件(修改)从工作区删除

注意:git checkout -- [文件名] --必须添加

3) 删除文件

首先删除本地文件,

git rm [文件名]

git commit 删除文件并提交到版本库

参考资料:
http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: