我可以从 2 个断开连接的目录创建 Git 存储库吗?

Can I create a Git repository from 2 disconnected directories?

我有一个 PHP 网络应用程序,我想将其捆绑到 GitHub 上的 Git 存储库中,但我不清楚如何,因为用户界面位于 webroot 中,但是出于安全目的,模型、控制器、存储等位于 webroot 之外的文件夹中。 IE。它看起来像:

C:/inetpub
    |—App_code_directory
    |—Lots_of_unwanted_directories
    |—wwwroot
        |—App_interface_directory
        |—Lots_of_unwanted_directories

我可以直接从这两个App目录建立一个仓库吗?我是否需要以 inetpub 为基础并创建一个巨大的 .gitignore 文件?这显然是一种常见的应用程序架构,但我无法以一种能够产生答案的方式来表达我的网络搜索。

更新:我在下面添加了一个答案,展示了我是如何做到的,这是一个比我最初设想的更高效的 .gitignore 文件。

是的,您可以 从两个目录构建一个存储库,并排除 Lots_of_unwanted_directories。在这个例子中,你会

  1. cd c:\inetpub
  2. echo "Lots_of_unwanted_directories" > .gitignore
  3. git init .
  4. git add remote origin <your github url here>
  5. git commit . -m "Initial commit"
  6. git push origin master

等等。仅仅因为它是可能的并不意味着它是一个好主意。您可能希望首先将您的源代码移动到不同的工作区文件夹中,并拥有一个发布到 c:\inetpub 的构建文件或任务。

环顾四周并找到方法 .gitignore everything except select elements 后,我决定从我的 inetpub 目录创建一个存储库,并只包含我需要的部分。这是结果 .gitignore 的样子。

# Start by excluding everything
*

# Add back in all subdirectories, but not their contents
!/*

# Remove any files within the base directory
*.*

# Add the code base folder contents
!PROJECT_base/**

# Add back in the wwwroot subdirectory
!wwwroot/*

# Remove any files in the wwwroot subdirectory
wwwroot/*.*

# Add the interface folder and contents
!wwwroot/PROJECT/**

# Remove any files from the storage folders
PROJECT_base/storage/uploads/*.*
PROJECT_base/storage/downloads/*.*
wwwroot/PROJECT/downloads/*.*

# Add the stub files back
!**/stub.txt