我和一个队友(都是 git 新手)正在开发一个新项目。该项目仍处于开发的早期阶段,因此更改尚未达到可以分解为隔离良好的功能的地步。
这是我们目前的工作流程。(我知道这可能是错误的)...
git commit
git pull origin
git push origin
我无法理解以下场景中的结果......
- 我在本地做了一个小改动
- 我的队友做了一系列提交并推送到原点
- 我完成了我正在做的事情,再次承诺
- 我拉入他的更改,并推回原点
之后,我希望 diff 显示我的更改,因为这是 origin 的新内容。相反,我看到我的队友更改添加到我的代码中。此外,我的队友在尝试拉动时收到错误(不幸的是没有记录它们),并且不得不克隆以使事情再次正常运行。
为了让事情看起来像我一开始所期望的那样,我(在搜索stackoverflow之后)......
git reset --hard
git checkout <teammates last commit>
git merge <my last commit>
git push
首先,我想了解发生了什么。其次,我想知道一个更好的方法。