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 repo中_Git_Github_Atlassian Sourcetree_Smartgit - Fatal编程技术网

将项目从不同文件夹添加到单个git repo中

将项目从不同文件夹添加到单个git repo中,git,github,atlassian-sourcetree,smartgit,Git,Github,Atlassian Sourcetree,Smartgit,我有一个名为samples的回购组织。它们包含来自不同环境的示例项目,因此具有不同的文件夹 organization name: alpha repo: samples + env1 + env2 + env3 这些项目存在于本地的3个不同工作区中。将这些资金投入git回购的最佳方式是什么 我目前推送了1个项目,而在sourcetree中推送了另一个项目,我正在尝试 pushTo:www.github.com/alpha/samples/env2/ “

我有一个名为samples的回购组织。它们包含来自不同环境的示例项目,因此具有不同的文件夹

organization name: alpha
repo: samples
       + env1
       + env2
       + env3
这些项目存在于本地的3个不同工作区中。将这些资金投入git回购的最佳方式是什么

我目前推送了1个项目,而在sourcetree中推送了另一个项目,我正在尝试

  • pushTo:www.github.com/alpha/samples/env2/

  • “我找不到文件夹”错误。确实,这是一个不存在的文件夹,而且git不允许我添加空文件夹,我应该如何操作?

    我建议为每个子目录创建一个分支

    git checkout -b <branch name> //env1, env2, and env3, I suppose
    
    git checkout-b//env1、env2和env3,我想
    
    根据需要修改.gitignore以忽略另一个 推送到分支时的目录

    然后,当您想要切换到另一个项目时,提交 您的更改:

    git add -A
    git commit -m "<your message>"
    git push origin <branch name> //Optional
    git checkout <other branch name>
    
    git添加-A
    git提交-m“”
    git推送原点//可选
    git签出
    

    然后使用git checkout命令切换到另一个分支。

    您可以使用文件夹或分支

    哪种策略最好主要取决于你的需要。但是,由于您已经将它们作为文件夹,我想您希望保持这种方法

    无论如何,让我们两个都看看

    文件夹

    sample
    文件夹中,创建尽可能多的目录。 因此,您将拥有这些目录:

    • 环境1
    • 环境2
    • 环境3
    每个都有自己的文件

    快跑

    for env in env1 env2 env3
    git add $env 
    git commit -m "Adding ${env}"
    done
    
    这意味着每个环境都有一个提交。当然,您可以一起添加和提交:这取决于您

    然后推到github

    git推送源主机

    假设您正在使用master和映射的GitHub作为源(这也是默认行为)

    分支机构 对于每个环境,切换到新分支:

    git checkout -b branch_name
    
    添加要跟踪的任何环境中的文件/目录:

    git add -A
    git commit -m "Adding environment X"
    git push origin branch_name
    

    在Git中不能推送到子目录。您只能推送到存储库。要理解你在寻找什么有点困难;也许会有帮助?