我正在学习git,我有一个场景:
到目前为止,根据我的理解,此时我可以:
我想知道是否有更好的方法来做到这一点。
如果远程和本地分支都有不同的更改,而不是仅仅通过git pull
拉取主服务器,我宁愿这样做:
git pull --rebase
这样可以避免合并提交,并将更改保留在主分支之上。
然而,当不同的人在同一个分支上工作时,你仍然必须解决任何发生的合并冲突,这是一种不好的做法,特别是因为它会导致冲突。
如果进行微小更改,您的应用程序只会应用于顶部。您正在更改历史记录,但只更改本地历史记录,而不是远程记录。
你不需要git push --force
。你只是习惯了git push
它。
通常,您应该处理功能分支并将它们合并回主分支。
在主分支上工作时,还可以通过以下方式使功能分支靠近主分支:
git checkout feature-branch
git rebase origin/master
然而,这里需要git push --force
功能分支,所以如果不止一个人在同一个功能分支上工作,应该注意不要使用这个策略。
如果想要使用rebase并推送强制,请考虑在git push --force-with-lease
上使用git push --force
,因为它可以防止意外删除远程上的其他提交。
一种(简单*)方式来处理这个没有分支或存储:
根据我的经验,最好的方法是:
这就是您可以开发许多新功能并在需要部署时仅合并工作功能的方法。祝你好运,看看这个 - > https://www.codeschool.com/courses/try-git
如果你们都在同一个文件上工作,你将不可避免地遇到冲突。您只需要学习如何解决冲突。
如果你想避免必须解决冲突,那么也许你们应该将任务委托给彼此,涉及处理不同的文件。
我相信git sync会很好。 Git sync提交您的更改,提取master中存在的任何更改,然后将所有更改推送到master。