Git 创建同一重复文件夹的不同分支

Git 创建同一重复文件夹的不同分支,git,git-branch,git-commit,Git,Git Branch,Git Commit,我正在做一个项目,我的git知识是基础的。尝试将一个分支合并到主分支,但使用不同的功能,我想用我的基本逻辑解决这个问题(我寻求轻松),即使这不是处理这个问题的最佳方式 我用不同的名称复制了同一个项目文件夹,试图用功能名称创建分支。所有功能都作用于不同的文件,有时作用于同一个文件,但我想将不同的消息提交到不同的分支,然后将它们逐个与主分支合并 第一个挑战是,为什么我去不同的文件夹,我得到相同的分支名称。我可以根据功能重命名分支吗 这是一个有效的工作流吗?在git中,创建文件夹副本以处理不同的功能并

我正在做一个项目,我的git知识是基础的。尝试将一个分支合并到主分支,但使用不同的功能,我想用我的基本逻辑解决这个问题(我寻求轻松),即使这不是处理这个问题的最佳方式

我用不同的名称复制了同一个项目文件夹,试图用功能名称创建分支。所有功能都作用于不同的文件,有时作用于同一个文件,但我想将不同的消息提交到不同的分支,然后将它们逐个与主分支合并

第一个挑战是,为什么我去不同的文件夹,我得到相同的分支名称。我可以根据功能重命名分支吗


这是一个有效的工作流吗?

在git中,创建文件夹副本以处理不同的功能并不常见,因为分支非常轻量级,并且很容易在单个文件夹中切换分支

然而,如果项目很大,设置复杂,或者每个功能都需要大量的外部配置来测试,那么在单独的文件夹中工作可能会更容易

对于git,每个文件夹都是一个单独的存储库,因此假设您有用于功能X、Y和github repo G的文件夹,那么这意味着您实际上有3个单独的repo:X、Y和G

一种方法是首先根据需要准备特性repox,并使用git pull/push将其与G同步。然后准备特性报告,并将其与G同步

最后,你仍然会有3个独立的回购协议,但每个都会有分支feature-x、feature-y和master,具有相同的提交

因此,如果您在文件夹X中从当前状态创建分支“feature-X”,并切换到您将使用的分支:

git checkout -b feature-x
我想您已经提交了,
git log
看起来不错

然后通过执行git push与“G”同步。这将添加分支
feature-x
和您对G的新提交

此时,您实际上可以转到github并创建一个pull请求,该请求可以通过web界面合并到master

如果不想通过pull request web UI执行此操作,则只需首先将文件夹X中的主分支本地准备到所需的状态,其中最简单的是:

git checkout master
git merge feature-x
然后使用git push同步X和G的主分支

最后,对Y和其他特征重复相同的过程

注意:在featurerepo Y中要做的第一件事是从github repo G获取主分支的新状态,您可以通过
git pull
来完成

git checkout master
git pull
请确保您在Y中的主控形状在此时没有更改,否则它会将主控形状的G状态合并到主控形状的Y状态之上
git-fetch
是不进行合并的git-pull的替代方法


如果更改了,要在不切换分支的情况下备份状态,请执行
git branch feature-y
,并通过
git reset--hard origin/master
将主机恢复到原始状态。然后就可以安全地执行git pull了,您是否已经安装了服务器,或者您想在您的计算机上本地完成所有操作?我在Github Enterprise Battlmonstr这是非常完整的,完全满足了我的问题,我将一步一步地重新检查,以达到我的目标。谢谢,太棒了。我担心它太罗嗦了。:)
git checkout master
git pull