git基础教程三


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







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值