我想和我的一个朋友做一个项目,我们想要使用GitHub。我已经设置了一个存储库并检查了拉/推的东西,但是我想到了一个问题。
让我们假装我们正在同时处理这个项目,我们都从Github上撤下了最新版本。现在我们改变一些东西,在不同的类中添加功能等,然后再次在Github上推送它。 GitHub上的一切都会改变吗?既然GitHub如何知道要覆盖什么代码呢?如果我对一个类进行了更改并将其推送到GitHub并且我的朋友没有在课程中进行这些更改并且在我的其他课程中对其进行更改后,我编辑的课程中的更改将被撤消,他们不会?
答案 0 :(得分:1)
使用源代码控制的目的不是丢失任何工作(新的/更改)。 并且git使用提交来完成此任务。
因此,如果您使用force标志来覆盖其他人的更改,则您的提交将在HEAD上,并且该代码状态将可见,其他人员更改仍然在提交中。
如果您需要集成两个更改,方法很简单,从远程拉取更改,合并到您的分支,然后将其推回。
答案 1 :(得分:0)
不,如果您尝试推送,在别人推送之后,您会收到错误消息,这不是快进更新。你可以强制推送,如果Git服务器允许它(GitHub),然后推动的其他人的更改将消失。但通常你会获取其他人所做的更改,然后将它们合并到本地分支中,或者在推送之前根据传入的更改重新定位本地分支。