分支 - 一些私有的,一些用于合并请求

Branches - Some Private, Some for Pull Request

我和我刚开始学习 git 命令行。我分叉了一个 git 项目,克隆了它,将原始项目添加为远程项目,创建了一个分支,编辑了一个文件,提交并创建了一个拉取请求。一切似乎都很好。

现在我想创建另一个分支,以解决特定于我的设置的问题。我不想让那个最终回到 remote/original git 项目。所以我创建了一个分支,进行编辑并提交。

但是现在呢?当 remote/original 进行更改时会发生什么?我如何与我的项目同步并监控这些新更改是否会影响我的私有更改?我是将我的分支与我的主分支合并,还是我必须始终将这个分支和 运行 这个分支分开?

如果您计划继续为 remote/original 项目做出贡献,但也想为您自己的目的开发永远不会作为拉取请求发送并最终合并的功能,那么您要么希望将您的独立工作无限期地保留在一个单独的工作分支中(并从中分支出来以供将来的私人开发),或者为您的分叉仓库维护一个单独的 code-base 并独立于 remote/original 项目进行管理.

我认为后一种选择最有意义,因为您的私人开发将创建一个功能不同的项目,并且您仍然可以在独立的 code-base 上使用远程源来拉入最新的社区变化(并解决与您的工作的任何冲突)。

要回答您在评论中的问题,关于如何使您的功能分支与master 上的最新开发保持同步,您可以执行以下操作:

git checkout master

git pull origin master

这将使您的 master 分支保持最新状态。

git checkout feature/branch

git merge --no-ff master

这将使您的功能分支与 master 保持同步。

make another branch, to fix an issue that is specific to my setup

--> 不要那样做。使用你所做的分支。

您必须更改一个或几个文件,一行或几行代码,v.v..这些更改不会推送到您的 git 存储库,也不会推送到远程 git 存储库。

当您需要 update/synchronize/merge 源代码时,请忽略您所做的更改。 (您可以备份自己的文件然后复制回来)。