2014-04-28 120 views
0

我有一個組織,其中有一個名爲samples的倉庫。這些包含來自不同環境的示例項目,因此有不同的文件夾。將項目添加到來自不同文件夾的單個git倉庫

organization name: alpha 
repo: samples 
     + env1 
     + env2 
     + env3 

這些項目在本地存在於3個不同的工作區中。將這些推入git回購的最佳方式是什麼?

我現在有1個項目推,而在sourcetree推動其他項目我想

  1. 普什圖語:www.github.com/alpha/samples/env2/

我得到的文件夾未發現錯誤。這是真的,這是文件夾不存在,它git不允許我添加空文件夾,我應該怎麼做呢?

+0

你不能推到Git中的子目錄。您只能推送到存儲庫。這很難理解你在找什麼;也許[submodules](http://git-scm.com/docs/git-submodule)會有幫助? – Chris

回答

0

我會建議爲每個子目錄做一個分支。

git checkout -b <branch name> //env1, env2, and env3, I suppose 

根據需要修改的.gitignore當你推到分支忽略其他 目錄。

然後,當你想切換到另一個項目,提交 更改:

git add -A 
git commit -m "<your message>" 
git push origin <branch name> //Optional 
git checkout <other branch name> 

,並切換到另一個分支與git checkout命令。

1

您可以使用文件夾或分支。

哪種策略最好主要取決於您的需求。但是,因爲你已經有了這些文件夾,我想你想保持這種做法。

無論如何,讓我們看看兩者。

FOLDERS

作爲在sample文件夾,創造儘可能多的目錄,你的環境。 所以你有這些目錄:

  • ENV1
  • ENV2
  • ENV3

各有其文件。

現在運行

for env in env1 env2 env3 
git add $env 
git commit -m "Adding ${env}" 
done 

,要對單個提交每個環境。當然,您可以一起添加和提交:完全取決於您。

然後推到GitHub的

混帳推起源主

假設你在主工作,並映射GitHub上爲原點(這是默認的行爲爲好)

分支機構 對於每個環境切換到新分支:

git checkout -b branch_name 

添加的文件/從任何環境中的目錄你想跟蹤:

git add -A 
git commit -m "Adding environment X" 
git push origin branch_name 
相關問題