Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git 从现有分支创建分支';s历史记录并在不合并的情况下推送到原始分支_Git_Version Control - Fatal编程技术网

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

    我发现,如果我为我的功能创建了一个新的分支,那么我一开始就不会有这个问题。谢谢你的回答。