我有一个在线Git repo,我可以从两台笔记本电脑访问它的主分支。在某些情况下,我可能会从两台电脑对同一个文件添加小的更改。当我从一台笔记本电脑提交和推送时,有时远程repo会有更新的提交(因为我可能在火车上离线使用其中一台设备等)。我不想手动解决冲突。
我读过关于自动合并(他们的vs我们的)
git merge [branch] --strategy-option theirs
但这里的偏好是位置。
我尝试了其他策略,如FETCH_HEAD
或push -f
,但这两种策略都意味着从本地或远程的一端丢失数据。
我怎样才能在保存所有提交的同时不丢失之前的工作,选择提交日期(最近的优先)?
1条答案
按热度按时间tkclm6bt1#
经常有冲突--尤其是当你同时是两个改变的作者时,这意味着有些事情是次优的。
当你修改不同的文件,甚至是同一个文件的不同部分时,git应该能够无冲突地进行pull push,所以持续存在的冲突问题是一个坏兆头。
我建议你:
1.组织代码,这样你就不需要经常修改相同的文件
1.脱机前提取最新更改
说了这么多之后,你可以试着用rebase进行拉取,看看这是否适合你的情况:
git pull --rebase
.