Git 从现有分支创建分支';s历史记录并在不合并的情况下推送到原始分支
我有一个分支Git 从现有分支创建分支';s历史记录并在不合并的情况下推送到原始分支,git,version-control,Git,Version Control,我有一个分支dev,它领先30次提交。我还不想推动这些提交,因为它们是尚未完成的功能的一部分 我现在需要对代码库中的另一个文件进行一个小的、不相关的更改,并将该更改推送到dev分支 我无法在这里找到正确的流程 在我的脑海中,我想象如下: 创建远程dev分支的分支dev-feature-1(无我的30次提交) 对此dev-feature-1分支进行更改并提交 将dev-feature-1分支显式推送到dev分支 我甚至不确定上面3点的命令是什么。首先,您可以使用任何其他名称在git中推送分支。因此
dev
,它领先30次提交。我还不想推动这些提交,因为它们是尚未完成的功能的一部分
我现在需要对代码库中的另一个文件进行一个小的、不相关的更改,并将该更改推送到dev
分支
我无法在这里找到正确的流程
在我的脑海中,我想象如下:
dev
分支的分支dev-feature-1
(无我的30次提交)dev-feature-1
分支进行更改并提交dev-feature-1
分支显式推送到dev
分支我甚至不确定上面3点的命令是什么。首先,您可以使用任何其他名称在git中推送分支。因此,您应该使用下面的按钮推送
dev
分支以保存您的工作
git push origin dev:dev_Cristian
这将在原始回购协议上创建一个新分支dev_Cristian
。或者,您可以在本地创建新分支并开始处理它
另外,在我看来,您一直在开发dev
分支,这在开发人员中很常见。这不是推荐的做法。理想情况下,您应该使用git branch dev_特性——跟踪origin/dev
,创建一个新的分支,并根据origin/dev
不断重新设置该分支dev_特性的基础,以便引入其他开发人员所做的更改
关于原始问题,您可以创建一个新分支,并使用以下命令将其推送到原点:
git branch dev-feature-1 --track origin/dev
... # make your changes
git add filenames && git commit -m "msg"
git push origin dev-feature-1
我不认为在共享分支上开发一个大特性(超过2次提交)是一个好主意。我建议为开发分支您自己的本地分支,并在完成后将其合并到您的共享分支(dev
)
就你而言,我建议:
git co -b 'dev_my_big_feature'
git co dev
git reset --hard origin/dev
在dev
上运行你的小补丁,在dev\u my\u big\u feature
上运行你的大功能项目,只有当它准备好时才会合并到dev
。我发现,如果我为我的功能创建了一个新的分支,那么我一开始就不会有这个问题。谢谢你的回答。