Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/24.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 如何将代码从另一个分支推送到存储库_Git_Bitbucket - Fatal编程技术网

Git 如何将代码从另一个分支推送到存储库

Git 如何将代码从另一个分支推送到存储库,git,bitbucket,Git,Bitbucket,我的存储库中有两个分支:branch1和branch2(这里不需要master) 在branch1上我有我的代码,但整个项目都没有需要的文件,所以我决定创建一个新的分支,添加.gitignore并包含我不需要的目录和文件,然后将它推到branch2中,只包含src目录、gradle.build和.gitignore 我使用GitBash并按顺序执行: git checkout -b branch2 //to create branch git add --all //to add all fil

我的存储库中有两个分支:branch1和branch2(这里不需要master)

在branch1上我有我的代码,但整个项目都没有需要的文件,所以我决定创建一个新的分支,添加.gitignore并包含我不需要的目录和文件,然后将它推到branch2中,只包含src目录、gradle.build和.gitignore

我使用GitBash并按顺序执行:

git checkout -b branch2 //to create branch
git add --all //to add all files (.gitignore should exclude no needed files)
git commit -m "message"
git push -u origin branch2
然后我在bitbucket上进入我的存储库,那里有一个branch2,但是有我不想在那里保存的文件。我做错了什么


提前感谢。

添加并推送.gitignore并不意味着要导入的文件将被自动删除。它们是在branch2被剪切之前提交的(在branch1提交上),因此当您剪切branch2时,它们被包括在内


您需要将这些文件git-rm一次,推送到远程repo,然后希望git将被忽略。

添加并推送.git-ignore并不意味着要导入的文件将被自动删除。它们是在branch2被剪切之前提交的(在branch1提交上),因此当您剪切branch2时,它们被包括在内


您需要将这些文件git-rm一次,推送到远程repo,然后希望git将被忽略。

如果文件已经版本化,则添加.git-ignore不会删除它们。您必须从git中删除它们

git rm--缓存文件
//包含您想要的文件


gitignore现在将阻止添加这些文件。

如果文件已经版本化,则添加一个。gitignore不会删除它们。您必须从git中删除它们

git rm--缓存文件
//包含您想要的文件


gitignore现在将阻止添加它们。

因此,请一步一步地执行以下操作:

  • 使用相同的命令创建一个新的branch2:git checkout-b branch2

  • 然后通过使用命令git-rm运行git-rm来删除所有文件。这样,您就有资格将其从branch2中删除。记住,这不会影响你的四肢

  • 然后提交并将更改推送到branch2

  • 现在只需从branch1复制所有不需要的文件并将它们添加到branch2

  • 现在您的gitignore将出现在图片中,既不会要求您提交这些文件,也不会要求他们将这些文件推送到远程存储库中。今后对这些文件所做的任何更改都将被忽略


  • 这样一步一步地做:

  • 使用相同的命令创建一个新的branch2:git checkout-b branch2

  • 然后通过使用命令git-rm运行git-rm来删除所有文件。这样,您就有资格将其从branch2中删除。记住,这不会影响你的四肢

  • 然后提交并将更改推送到branch2

  • 现在只需从branch1复制所有不需要的文件并将它们添加到branch2

  • 现在您的gitignore将出现在图片中,既不会要求您提交这些文件,也不会要求他们将这些文件推送到远程存储库中。今后对这些文件所做的任何更改都将被忽略


  • .gitignore
    中列出的文件和路径意味着即使它们存在(或不存在)也不会被跟踪,即使您创建了新分支,git也不会在意,因为它们被忽略了

    .gitignore
    是分支之间共享的配置文件

    我认为您想要的是删除被忽略的文件和目录(列在您的.gitignore中)


    .gitignore
    中列出的文件和路径意味着即使它们存在(或不存在)也不会被跟踪,即使您创建了新分支,git也不会在意,因为它们被忽略了

    .gitignore
    是分支之间共享的配置文件

    我认为您想要的是删除被忽略的文件和目录(列在您的.gitignore中)

    on branch1 or branch2: git clean -xfd 
    on branch1 or branch2: git push