如何不让 GitHub 上的一名团队成员的拉取请求覆盖我自己的 CSS 文件?

发布于 2025-01-15 16:54:24 字数 377 浏览 1 评论 0原文

目前,我正在 GH 上与三名团队成员一起开发一个 PHP 项目。我们拆分了任务,但得出的结论是,当贡献者 1 对一个屏幕进行编码并在我们的 CSS 文件中对其进行样式设置时,当贡献者 2 将自己的 CSS 文件推送到我们的主分支时,这一切都将丢失。

有谁知道如何防止这种情况发生的良好工作流程?

我们当前的工作流程:

  1. C1创建了一个项目并添加了C2和C2。 C3 作为贡献者。
  2. C2 和 C3 分叉了该项目
  3. 每个人都将其克隆到他们的 VS Code 中并创建了一个本地分支。
  4. 完成工作后,我们提交并合并到我们自己的主分支。
  5. 我们向主项目(来自 C1 的存储库,其中所有内容都应连接)创建拉取请求。

Currently, I'm working on a PHP project with three team members on GH. We split up tasks, but came to the conclusion that when contributor1 codes one screen and styles it in our CSS file, this will all be lost when contributor2 would push their own CSS file onto our main branch.

Does anyone know a good workflow on how to prevent this from happening?

Our current workflow:

  1. C1 has created a project and added C2 & C3 as contributors.
  2. C2 and C3 forked the project
  3. Everyone cloned it into their VS Code and created a local side branch.
  4. After done working, we commit and merge to our own main branch.
  5. We create pull requests to the main project (repository from C1 where everything should be connected).

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

阳光的暖冬 2025-01-22 16:54:24

如果 C2 和 C3 分叉该项目,他们应该向其本地克隆添加一个额外的远程:

git remote add upstream /url/original/project

然后,在向主项目发出每个拉取请求之前

cd /path/to/local/clone
git switch pr_branch
# work
git fetch upstream
git rebase upstream/main <= replay pr_branch commits on top of the original main branch
git push --force

这个想法是确保本地代码仍然可以使用(并考虑)最新提交来自原始存储库。

每个 git push --force 都会更新正在进行的 PR。

If C2 and C3 fork the project, they should add an additional remote to their local clone:

git remote add upstream /url/original/project

Then, before each pull request to the main project

cd /path/to/local/clone
git switch pr_branch
# work
git fetch upstream
git rebase upstream/main <= replay pr_branch commits on top of the original main branch
git push --force

The idea is to make sure the local code still work with (and take into account) the latest commits from the original repository.

Each git push --force will update the PR in progress.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文