簡體   English   中英

Eclipse - 從git存儲庫中排除根目錄?

[英]Eclipse - Exclude root directory from git repository?

我正在嘗試使用EGit為我的Eclipse項目設置一個git存儲庫。 但是,我在從存儲庫中排除root / project目錄時遇到問題。 那就是,我的項目有以下結構:

ProjectDirectory
    src
    war
    etc

我希望存儲庫包含srcwar etc ,但不包含父目錄ProjectDirectory 那是因為如果我想在我的工作區ProjectDirectory2克隆項目的副本,第二個項目的存儲庫現在將嘗試創建第二個根目錄ProjectDirectory 不幸的是,當我嘗試使用EGit為項目添加存儲庫時,我似乎只能在項目文件夾本身上使用Team> Share Project,而我似乎無論如何都不會從存儲庫中排除根目錄在Eclipse中。

有關如何使用EGit跳過存儲庫中的頂級目錄的任何建議? 我更喜歡能夠在Eclipse中做所有事情,但是如果沒有辦法,有沒有辦法在git之外以這種方式設置存儲庫,那么仍然可以在git中定期使用git控件存儲庫跳過頂級目錄? 非常感謝你。

簡短的回答是它與EGIT + M2E是可能的

訣竅是在共享項目 - >在配置git repo窗口中

確保在項目的父文件夾中使用或創建存儲庫

並確保單擊“創建存儲庫”按鈕

這樣做的主要目的是在項目根目錄中創建.git文件夾

不高於您的項目根目錄。

您應該提交項目根目錄有多種原因:

  • 如果只提交項目的子目錄,則會遺漏隱藏在項目根目錄下的文件和文件夾(例如.settings目錄和其他目錄)。 那些也需要提交,否則你的項目將錯過信息,可能不會在另一台機器上產生相同的結果。
  • 您希望嘗試在同一工作區中第二次克隆相同的存儲庫聽起來非常像您應該重新閱讀git分支。 在git中,在眼睛眨眼之后切換分支,因此在處理項目的不同功能,版本或其他不同版本時應使用分支。
  • Eclipse項目名稱和磁盤上的基礎文件夾名稱不必相同(在創建新項目時,請注意“使用默認位置”復選框)。 因此,您可以使用不同的名稱簽出項目的第二個克隆。
  • 如果稍后向工作區添加更多項目(例如測試項目),則無法輕松地將它們共享到同一個git存儲庫中,因為這些其他項目的內容會與存儲庫中第一個項目的子目錄混淆。

如果你有maven項目,你通常會想要創建一個沒有egit創建的項目文件夾的存儲庫。 根據我的經驗,使用egit插件是不可能的。 但是可以通過git命令行輕松完成。

首先將您現有的eclipse / maven項目從您的eclipse工作區移動到您的git文件夾(這也是egit插件所做的):

mv myproject ~/git/

接下來創建一個新的git存儲庫

cd ~/git/myproject
git init

現在創建一個.gitignore文件並將其放入新的存儲庫文件夾(〜/ git / myproject / .gitignore)。 這是.gitignore文件的示例:

# ignore all bin directories
# matches "bin" in any subfolder
bin/

# ignore all target directories
target/

# ignore all files ending with ~
*~ 

# ignore eclipse directories and project files
.settings/
.project
.classpath

最后,使用項目內容初始化新的存儲庫

git add *
git commit -m "My initial commit message"

而已。 現在,您可以重新啟動eclipse並從新的git存儲庫重新導入項目。 進入你的eclipse egit存儲庫視圖並進行'import exisiting project'。

這是我的解決方案。 雖然不是特別優雅 - 步驟都很簡單,但它可以工作,並且可以在大約10分鍾內完成:

  1. 將遠程git repo克隆到本地文件系統中..例如: ~/git/project_repo_root

  2. 像往常一樣創建你的eclipse項目..例如: ~/workspace/eclipse_project_root

  3. 從eclipse中刪除項目(但不是文件系統!)

  4. 打開文件管理器,將剛創建的eclipse項目從〜/ workspace / root移動到〜/ git

    mv ~/workspace/eclipse_project_root ~/git/

  5. 將.git /文件夾從repo文件夾移動到eclipse項目根文件夾:

    mv ~/git/project_repo_root/.git ~/git/eclipse_project_root

  6. 使用shell進入/ eclipse_project_root /並為repo中所需的所有文件執行常用的命令行命令:

    git add <abc>; .. commit; .. push

  7. 返回Eclipse並轉到Git Perspective,然后單擊“將現有本地Git存儲庫添加到此視圖”。 選擇您正在使用的git倉庫,一旦您說好,就應該使用該倉庫的條目更新視圖。

  8. 在視圖中看到本地倉庫后,可以右鍵單擊它並選擇“導入項目”

  9. 回到主要的開發視角(Java等),您應該在包瀏覽器視圖的根節點上看到帶有Git標記的項目。

~~~~~

那時,您應該看到剛移動的eclipse項目文件夾(在此處描述的示例中為〜/ git)

我意識到這比我希望得到的答案更冗長,但對於這個特殊的挑戰/解決方案......我不知道有更簡單的方法去做。

至於上面描述的帖子你應該總是包含eclipse項目根目錄..現實是一些項目/客戶/等要求git repo不包含根文件夾。 所以有時需要這樣的解決方案

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM