Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.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_Github_Branch - Fatal编程技术网

Git是否在一个目录上添加分支?

Git是否在一个目录上添加分支?,git,github,branch,Git,Github,Branch,我在GitHub上有一个git存储库,有3个不同的文件夹,只有主分支。如何在一个目录而不是所有三个目录上创建新分支 git签出-b 本地删除其他2个目录 git推送 你不能。Git操作整个存储库,而不是单个目录。你可以: 创建一个新的分支,在该分支上只修改目标目录中的内容 显然,您可以按照william.eyidi的建议删除其他目录,但如果您想将更改合并回主分支,这将使事情变得困难 您可以将特定目录设置为git子模块,其自身的历史记录与父存储库分开,但这可能比实际情况复杂得多 我想您应该删除该

我在GitHub上有一个git存储库,有3个不同的文件夹,只有主分支。如何在一个目录而不是所有三个目录上创建新分支

  • git签出-b
  • 本地删除其他2个目录
  • git推送

  • 你不能。Git操作整个存储库,而不是单个目录。你可以:

    • 创建一个新的分支,在该分支上只修改目标目录中的内容
    • 显然,您可以按照william.eyidi的建议删除其他目录,但如果您想将更改合并回主分支,这将使事情变得困难
    • 您可以将特定目录设置为git子模块,其自身的历史记录与父存储库分开,但这可能比实际情况复杂得多

    我想您应该删除该存储库并再次执行,但这次使用正确的分支

    您提到您有3个文件夹,但您只想对一个文件夹进行版本化。因此,使用git进入您的文件夹

    这是Git Bash中的一个示例

    cd /path/to/your/folder
    git init
    git add --all
    git commit -m "My first commit."
    git push origin master
    

    来源必须是github存储库地址。

    创建新分支后,您可以在其他目录跟踪其他分支的同时添加跟踪该分支的目录,而不是签出整个存储库的分支

    git worktree add masterBranchDirectory master
    

    现在,目录masterBranchDirectory是整个存储库的副本。更改到此目录后,您将自动进入主分支。

    为什么不创建分支并只修改该目录中的文件?
    git worktree add masterBranchDirectory master