将本地Git提交与较新的远程Git提交合并,两者都保留在历史记录中,但首选较新的版本

92vpleto  于 2023-01-28  发布在  Git
关注(0)|答案(1)|浏览(150)

我有一个在线Git repo,我可以从两台笔记本电脑访问它的主分支。在某些情况下,我可能会从两台电脑对同一个文件添加小的更改。当我从一台笔记本电脑提交和推送时,有时远程repo会有更新的提交(因为我可能在火车上离线使用其中一台设备等)。我不想手动解决冲突。
我读过关于自动合并(他们的vs我们的)

git merge [branch] --strategy-option theirs

但这里的偏好是位置。
我尝试了其他策略,如FETCH_HEADpush -f,但这两种策略都意味着从本地或远程的一端丢失数据。
我怎样才能在保存所有提交的同时不丢失之前的工作,选择提交日期(最近的优先)?

tkclm6bt

tkclm6bt1#

经常有冲突--尤其是当你同时是两个改变的作者时,这意味着有些事情是次优的。
当你修改不同的文件,甚至是同一个文件的不同部分时,git应该能够无冲突地进行pull push,所以持续存在的冲突问题是一个坏兆头。
我建议你:
1.组织代码,这样你就不需要经常修改相同的文件
1.脱机前提取最新更改
说了这么多之后,你可以试着用rebase进行拉取,看看这是否适合你的情况:git pull --rebase .

相关问题