git拉并解决冲突
我正在学习git,我有一个场景:git拉并解决冲突,git,Git,我正在学习git,我有一个场景: 我的同事进行更改,并将更改推给主控 我在本地对我的主人进行更改 据我所知,目前我可以: 拉我的同事处理的主程序,并修复我最终将遇到的合并冲突 创建本地文件的备份,克隆主文件的新副本,然后将更改合并到主文件 我想知道是否有更好的方法来做到这一点。我相信git sync会很好。Git sync提交您的更改,提取master中现有的任何更改,然后将所有更改一起推送到master。一种(简单的*)无需分支或隐藏即可处理此更改的方法: 本地转移/提交更改 拉遥控器 此时将
我想知道是否有更好的方法来做到这一点。我相信git sync会很好。Git sync提交您的更改,提取master中现有的任何更改,然后将所有更改一起推送到master。一种(简单的*)无需分支或隐藏即可处理此更改的方法:
如果你俩都在处理同一个文件,你将不可避免地遇到冲突。你只需要学会如何解决冲突
如果你们想避免解决冲突,也许你们应该互相委派涉及处理不同文件的任务。根据我的经验,最好的方法是:
这就是如何开发许多新特性,并在需要部署时仅合并工作特性的方法。祝您好运并检查此->如果远程分支和本地分支上都有不同的更改,我宁愿执行以下操作,而不仅仅是拉动主分支:
git pull --rebase
我甚至在我的默认配置中有它,这样它在git pull
上如果需要的话,总是会执行一个重基:
git config --global pull.rebase true
重基避免合并提交,并将更改保留在当前远程分支的顶部
但是,当不同的人在同一个分支上工作时,您仍然必须解决任何发生的合并冲突,这是一种不好的做法,尤其是因为它会导致冲突
(还应注意,在重基的范围内,他们的
和我们的
的含义会发生切换。)
在有微小变化的情况下,您的应用仅在顶部
您正在更改历史记录,但仅更改本地历史记录,而不是远程历史记录
您不需要git-push--force
。你只要按习惯推它就行了
通常,您应该处理要素分支,并将它们合并回主分支
在处理特征分支时,还可以通过以下方式使特征分支靠近主分支
:
git checkout feature-branch
git fetch && git rebase origin/master
然而,在这里,我们需要gitpush--force
feature分支,因此,如果有多个人在同一个feature分支上工作,我们应该小心不要使用这种策略
如果你想使用ReBASE和推逼,考虑使用<代码> Git PASS-力>租借<代码> >代码> Git PASS-力<代码>,因为它防止意外删除远程的其他提交。
当然,第一个场景是首选的。我想这是唯一的一个。你有什么特别的问题吗?我建议每次你想添加一个功能时都创建一个新的分支。然后,当您的分支准备合并到master中时,首先从源代码中提取最新版本。这样做更干净,在执行拉操作时不必处理合并冲突。如何更好?你目前的问题是什么?你认为会有什么不同?仅仅要求更好的方法来做x
是基于观点的,而且有点离题。@user3159253,没有任何具体问题。我在工作中遇到了一些问题,我只是想知道,当两个人一起工作时,是否还有其他方法可以合并更改。我将使用“git pull--rebase”进行测试,因为rebase
对我来说是一个新概念。谢谢。@Asimmar Rebase是git最强大的功能之一,我经常使用它,但它也是一种射中你自己脚的好方法。所以一定要理解使用它的含义。@k0pernikus,我刚刚遇到了与OP相同的情况,找到了您的答案,尝试“git pull--rebase”,它说“错误:无法使用rebase拉:您有未老化的更改。请提交或隐藏它们”。我做错了什么?Thx-inadvance@lucifer63请自行提出后续问题,不要发表评论。你可以在这里链接这个答案,也可以在这里留下一条评论,链接到你的问题。这就是说:帮助文本基本上已经提供了您的解决方案:要么提交当前未添加和未添加(也称为未加载)的更改,要么运行stashgit stash&&git pull--rebase&&git stash apply
@k0pernikus,我只是不熟悉stash/rebase特性。感谢您的帮助,尤其是“未添加和未注释(又名未添加)”的帮助,它解释了很多!