目录 SourceTree简介 git merge使用教程 git rebase使用教程 一、SourceTree简介 SourceTree 是 Windows 和Mac OS X 下免费的 Git 和 Hg 客户端,拥有可视化界面,容易上手操作。同时它也是Mercurial和Subversion版本控制系统工具。支持创建、提交、clone、push、pull 和merge等操作。 附上两图 仓库目录:
新版的工作窗口,也是走扁平化风格
基本的操作就不多说了,说下sourcetree新手偶尔会遇到的坑,就是账号设置。
sourcetree=>preferences=>network这里有账户信息,可以多账户。 第一次clone的时候账号密码如果写过可以来这里修改,windows版本好像略坑爹, 可以直接remove账号,重新clone一次。 二、git merge教程
上面有两种merge方式,一种是from log,一种是fetched,笔者一般用后者,可以直接直观和其它分支合并
合并完之后一般会有冲突,怎么处理冲突呢? 1.简单粗暴的方法:
假如我当前分支在develop分支,现在merge jack分支出现了这个冲突, Resolve Using 'Mine',就是当前这出现冲突的整个文件以develop分支这边的为准, 也就是整个文件处理后就是和develop分支一样。 Resolve Using 'Theirs',就是以jack分支的文件为准。 这样做显然有点low 2.直接处理冲突代码
用subline打开这个冲突的文件,可以看到>>>>分割的两块代码,这两块代码就是冲突的地方咯,下面的就是develop分支的代码,这里我是在jack分支合并develop分支,所以第一块代码就是jack分支的代码,那几个很low的汉字就是我打的,制造冲突。 这样我们就可以根据我们需要来删掉那一部分或者微调,然后把三处>>>删掉, 冲突就处理完了。 三、git rebase教程 以前遇到commit写错总是使用git reset --soft回退到之前的状态,再commit后push -f强推到远程库,能够覆盖掉之前的commit。 现在想想也是很low的做法,git rebase 可以帮你搞定这个问题。 好了,随便提交了几个 工作中,我们可能不小心写错commit,例如上面那个 “测试 git rebase”我写错了,我想改一改,怎么办呢? 1.(打开terminal) git rebase -i 233d7b3( 这个commit是在我们要修改的commit前一个)
然后就进入下面这里:
这里就是我们熟悉的vi,按i进入insert模式, 我们是要修改,所以改成
esc : wq 保存退出
i进入insert模式,修改commit内容,esc : wq 保存退出。 最后害得强push
那么我们要如何合并几个commit呢? 和上面类似,我们首先
我们可以这样修改 将后面两个改成squash,就是合并到第一个上去 如果没有冲突就可以看到这个界面
保存退出 最后git push -f rebase和merge有什么区别呢 我们可以看下其他人写的 gitrebase使用笔记 http://www.jianshu.com/p/cca69cb695a6
原来写文章那么费时间,下次再写写git hotfix(分支模型(master - hotfix - develop - feature - release)) |
| 本文出处: http://www.toutiao.com/a6397010356531921153/ |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|