我有一个分支dev
提前30次提交。我还不想推送这些提交,因为它们是尚未完成的功能的一部分。
我现在需要对代码库中的另一个文件进行一个小的,无关的更改,并将该更改推送到dev
分支。
我无法在这里弄清楚正确的流程。
在我脑海中,我想象如下:
dev-feature-1
分支的分支dev
(没有我的30次提交)。dev-feature-1
分支的更改。dev-feature-1
分支明确推送到dev
分支。我不确定上述3点的命令是什么。
答案 0 :(得分:1)
首先,您可以使用任何其他名称在git中推送分支。因此,您应该使用以下内容推送dev
分支以保存您的工作。
git push origin dev:dev_Cristian
这将在原始仓库上创建一个新分支dev_Cristian
。或者,您可以在本地创建新分支并开始处理它。
此外,在我看来,您一直在dev
分支机构工作,这在开发人员中很常见。这不是推荐的做法。理想情况下,您应该使用git branch dev_feature --track origin/dev
创建一个新分支,并将此分支dev_feature
连续反对origin/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
答案 1 :(得分:1)
我不认为在共享分支上开发一个大功能(超过2次提交)是个好主意。我建议您分配您自己的本地分支进行开发,并在完成后将其合并到您的共享分支(dev
中)。
在你的情况下,我建议:
git co -b 'dev_my_big_feature'
git co dev
git reset --hard origin/dev
在您dev
上的大型功能项目dev_my_big_feature
上处理小补丁,只有在它准备就绪时才会合并到dev
。