Vit*_*kes 2 git merge bitbucket atlassian-sourcetree
我是.git的新手,我正在使用Sourcetree/Bitbucket.我暂时不需要共享我的代码,只是为了跟踪我的项目并允许我撤消或恢复到旧版本.我读了很多指南,但对我来说仍然有些神秘.
我想要使用它的方法是每次我需要添加新功能时从主设备创建一个分支.我想继续在那个分支上工作,当它最终工作时,我想将它合并回主人,然后继续下一个功能.也许甚至有更好的方式来使用它,我愿意接受建议.
我最终遇到了这种情况,因为我必须快速发布一个新版本而且我没有时间来修复存储库.后来尝试修复它导致更加混乱.也许是时候寻求帮助了;)

这就是我应该做的事情: - 29 gen,我想创建一个新的分支"transmitter_fo_nrf24l01 +" - 继续提交该分支,直到5 feb - 6月2日,创建一个新的分支(来自master)"added_serial_interface"(我想我在这里失败了.) - 再次使用12 feb的版本与master合并. - 为新功能创建一个新分支(来自主服务器)
今天我无法将adds_serial_interface合并到master,因为与5月5日添加的README文件发生冲突,最后一次尝试导致了那个孤独的头......
我现在如何合并主分支中的所有内容?我无法解决冲突.我不太关心修复所有的历史,但我现在至少要开始"清理"新功能,并了解我的错误是什么.谢谢!
PS抱歉小图片,如果您使用浏览器放大,您可以看到它的实际大小
为您正在开发的不同功能设置单独的分支是一种很好的做法.如果您在并行分支中独立编辑相同的文件,那么事情就会变得复杂(在您的情况下,在master中的README中,就像在added_serial_interface中一样).如果您需要处理相同的文件,单独的分支可能会使事情变得困难.Git通常会自动合并,但是在不同的分支中编辑相同的文件,您将需要进行一些手动合并.
一般来说,我会避免在不同的分支编辑相同的文件.如果必须,请尝试首先将第一个分支的更改合并到第二个分支,然后才在第二个分支中对该文件进行更改.(您已经更改了master中的README .如果在编辑README之前将该更改从master合并到另一个分支,那么合并将无冲突地工作)
要在您的情况下恢复,您需要进行一些手动合并.根据您的操作系统,有一些工具可以通过并排显示文件的两个冲突版本并突出显示差异来帮助您进行合并.(也许你正在使用的git客户端已经内置了).手动将文件编辑为最终版本后,您需要提交它以完成合并.您也可以简单地告诉git使用其中一个分支的版本并忽略其他更改.
看看Git文档:http://www.git-scm.com/docs/git-merge("如何解决冲突"和"合并策略").一开始看起来很复杂,但学习git绝对值得.