特别感谢写此博客的人:连接如下
http://www.cnblogs.com/yufeng218/p/6523422.html
在使用SourceTree来合并代码时,需要使用到外部可视化工具–beyond compare
下载地址(英文):
http://www.scootersoftware.com/download.php
下载地址(中文):
http://xiazai.beyondcompare.cc/wm/Beyond_Compare-Trial-WM.exe
首先下载好之后,
第一步:
打开sourcetree->工具->选项->比较->外部对比工具和合并工具->选择BeyondCompare
如下图:
第二步:
(3)在用户(c盘用户目录)目录中找到 .gitconfig 文件并打开,增加如下的信息并保存。
[diff]
tool = sourcetree
[difftool]
prompt = false
[merge]
tool = sourcetree
[mergetool]
prompt = false
第三步:
在本地副本的已暂存文件 —-> 右键 —-> 解决冲突 —-> 打开外部合并工具。
启动Beynod Compare软件需要一会时间,接着可以看到如下所示的信息:
最后一步:
关闭Beynod Compare工具,冲突的那个感叹号没有了,并且会有一个 .orig 的文件生成。接着选中那个.orig文件,单击右键 —-> 移除。接着 commit、push。
第一次使用sourceTree时,上传代码,是先需要把代码仓库的READ文件下载到本地仓库,然后再上传配置好的.ignore文件的,最后在项目迁移到本地仓库,最后上传,就会忽略刚才配置好的文件le
其中.ignore的文件配置如下:
这只是个人的,还有其他的配置,可以自己配置
.gradle/
build/
*.dex
*.apk
*.ap_
*.class
local.properties
captures/
proguard/
*.iml
.idea/
*/.idea
*.log
*
本文仅仅是奔着分享,学习的目的,作为自己的学习笔记。
本文适用于git版本控制,结合
SourceTree
软件的
使用
。
首先,在
使用
sourcetree
合并
分支的
时
候检测到的
冲突
有两种
解决
方式:
1)以“我的版本"
解决
冲突
2)以“他人的版本”
解决
冲突
这样处理之后还是会存在
冲突
的可能性。那么就需要手动
解决
冲突
了。
打开存在
冲突
的文件,会看到如下标志:
<<...
什么是
冲突
?
冲突
的产生原因?
什么是git push? 也就是
代码
提交操作?
我们都知道git是基于一棵树进行维护的. 想要将
代码
更新到远端结点. 必须满足如下几个条件:
本地树版本与远端树版本一致
更新基于远端的头部结点更新
光看文字可能有点抽象,我们用图像来描述这个步骤:
已知远端的版本为A-->B--&
这篇教程不是救急方案。如果你在寻找救急方案,我建议你现在就点击浏览器的返回按钮。如果你想详细了解如何
使用
SourceTree
解决
git 中的
合并
冲突
,本教程会教你怎么做。深吸一口气!
git 中为什么会出现
合并
冲突
?
很简单。当 git 不知道如何自动
合并
某个文件的多处改动的
时
候,就会引发
冲突
。即使有
时
合并
方式是非常显而易见的。通常会发生在多人修改同一个文件
时
。
具体来说,git 中的
合并
冲突
会发生在这些场景中:
合并
两个分支的
时
候。
回滚区块的
时
候(我最喜欢的功能)
我们会讨论这两种场景,
1
解决
冲突
就要先制造
冲突
,
冲突
一般是由于两个人同
时
修改同一文件而造成的。在GitHub上修改远程仓库文件模拟一个人操作,
sourceTree
本地修改同一文件模拟另一个人操作。
2 登录GitHub ,打开GitTest,编辑test1.txt文件
3 在文件末尾增加 内容 code conclick1,点击提交。如下图所示。
1、重新运行 Beyond_
Compare
-Trial-WM.exe
2、会提示对原有版本进行升级(此
时
需要现将已经打开的BC软件关闭)
3、升级完成后,我们打开软件,仍会提示 license 已经到期
4、将文件所在路径下的 BCUnrar.dll 文件删除
注:已经删除过一次.dll 文件之后,30天之后许可仍会到期。此
时
重新执行步骤1
将安装日期改为未来的日期
beyond
compare
安装后会在 C:\Users[计算机名]\AppData\Roaming\B
Compare
目录下生成一个 ini文件,记录 “安装的
时
间” 和 “最近一次打开软件的
时
间”,只要超过30天就会提示你过期了。
试过 “把日期改为未来某天,然后再将文件改为可读” 这个方法,但被 B
Compare
直接判定为
使用
期已过。
后面发现删掉这个文件,...
SourceTree
拥有可视化界面的项目版本控制软件,适用于git项目管理
使用
远程仓库的好处就是可以不同而地方不同的电脑直接拉取项目开发,开发完提交就行了
还可以进行多人协作开发
需要注意的就是,每次写完
代码
结束的
时
候都要把
代码
提交掉,这样电脑就算炸了,
代码
还在远程仓库~
基础
配置
首先下载安装好
Sourcetree
,官网下载即可:
Sourcetree
| Free Git GUI for Mac and Windows
安装完成之后先
配置
一
1.shang在原有的git-test文件中新增“8888”提交并推送到自己的分支shang中;
2.fan在原有的git-test文件中新增“567”提交并推送到自己的分支fan中;
1.fan检出shang,并
合并
到自己的分支fan中这
时
候就提示有
冲突
了,如下图:
2.fan
解决
冲突
,并重新提交至
针对一些项目组对项目的枝干有明确的不能劈叉必须保持一条直线的要求,
命令行的老杆子们都是git命令行打的飞起,一口一个rebase,作为git命令行小白的我就比较尴尬,怎么说
sourceTree
都是git命令的可视化工具,应该也是有
解决
办法的,只是我很少去研究
之前面对拉
代码
时
冲突
,我的
解决
办法是
使用
菜单列表的"贮藏"功能,在本地先保存我的本次修改,然后拉
代码
保证不
冲突
,然后拉下
代码
后,在左侧的贮藏列表选择应用贮藏区
次
时
遇到修改同一行
代码
的情况就会出现conflict,然后在手动
解决
,再提交,这