如何在不破坏队友工作的情况下推动提交?
How do I push a commit without destroying teammate work?
我是 Git 的新手,今天我在 uni 项目中遇到的问题如下:
- 我对某些文件做了一些更改,提交并推送到我们的 GitHub 存储库。
- 我告诉我的队友我做了提交,他抱怨说现在他不能提交他的更改。
我没有意识到他和我同时编码——他说如果他拉我的提交那么他对相同文件的更改将会丢失。
我们现在该怎么办,我是否只是告诉他将这些文件复制到他的驱动器中的另一个位置,然后“合并”这些更改?以后我们如何避免这种情况?
对于糟糕的措辞和内容,我深表歉意,正如我所说,我是初学者,对这个话题一无所知。
您和您的队友可以使用相同的存储库创建不同的分支。
git checkout master
git checkout -b 'yourBranch' #this branch for you
git checkout master
git checkout -b 'aliceBranch' #this branch for your friend
# when your done, push to related branch
git push origin <branchName>
I didn't realize that he was coding at the same time as me
欢迎来到真实的编程世界。这种情况发生 所有 次。
这是一个常见的问题,任何体面的版本控制系统都具有 built-in 自动 合并 更改的功能。 Git 在这方面非常强大,当更改发生在文件的不同部分时,第二个执行拉取操作的人(或 fetch/rebase)甚至不会注意到。您只会注意到当 git 无法合并自身时,您最终会遇到合并冲突,这需要人工注意。
What do we do now,
让我们假设您的同事git pull
失败了,因为您推送的更改影响了其中一些文件。每个文件现在 包含 有关更新冲突的信息。 Visual Studio code 等体面的编辑器将 显示 所有这些冲突,并允许您选择相应代码的这个或那个版本。转到 this,并阅读有关“合并冲突”的部分。
换句话说,真正的答案是:所有 与您一起工作的人是时候挑选一本关于 git 的好书了(像这样one) 并开始学习您正在使用的工具。你看,git 是一个非常强大但有时令人困惑的工具。如果你认真学习编程,那么你也必须认真学习这些工具。
我是 Git 的新手,今天我在 uni 项目中遇到的问题如下:
- 我对某些文件做了一些更改,提交并推送到我们的 GitHub 存储库。
- 我告诉我的队友我做了提交,他抱怨说现在他不能提交他的更改。
我没有意识到他和我同时编码——他说如果他拉我的提交那么他对相同文件的更改将会丢失。
我们现在该怎么办,我是否只是告诉他将这些文件复制到他的驱动器中的另一个位置,然后“合并”这些更改?以后我们如何避免这种情况?
对于糟糕的措辞和内容,我深表歉意,正如我所说,我是初学者,对这个话题一无所知。
您和您的队友可以使用相同的存储库创建不同的分支。
git checkout master
git checkout -b 'yourBranch' #this branch for you
git checkout master
git checkout -b 'aliceBranch' #this branch for your friend
# when your done, push to related branch
git push origin <branchName>
I didn't realize that he was coding at the same time as me
欢迎来到真实的编程世界。这种情况发生 所有 次。
这是一个常见的问题,任何体面的版本控制系统都具有 built-in 自动 合并 更改的功能。 Git 在这方面非常强大,当更改发生在文件的不同部分时,第二个执行拉取操作的人(或 fetch/rebase)甚至不会注意到。您只会注意到当 git 无法合并自身时,您最终会遇到合并冲突,这需要人工注意。
What do we do now,
让我们假设您的同事git pull
失败了,因为您推送的更改影响了其中一些文件。每个文件现在 包含 有关更新冲突的信息。 Visual Studio code 等体面的编辑器将 显示 所有这些冲突,并允许您选择相应代码的这个或那个版本。转到 this,并阅读有关“合并冲突”的部分。
换句话说,真正的答案是:所有 与您一起工作的人是时候挑选一本关于 git 的好书了(像这样one) 并开始学习您正在使用的工具。你看,git 是一个非常强大但有时令人困惑的工具。如果你认真学习编程,那么你也必须认真学习这些工具。