[英]Eclipse - Exclude root directory from git repository?
我正在嘗試使用EGit為我的Eclipse項目設置一個git存儲庫。 但是,我在從存儲庫中排除root / project目錄時遇到問題。 那就是,我的項目有以下結構:
ProjectDirectory
src
war
etc
我希望存儲庫包含src
, war
etc
,但不包含父目錄ProjectDirectory
。 那是因為如果我想在我的工作區ProjectDirectory2
克隆項目的副本,第二個項目的存儲庫現在將嘗試創建第二個根目錄ProjectDirectory
。 不幸的是,當我嘗試使用EGit為項目添加存儲庫時,我似乎只能在項目文件夾本身上使用Team> Share Project,而我似乎無論如何都不會從存儲庫中排除根目錄在Eclipse中。
有關如何使用EGit跳過存儲庫中的頂級目錄的任何建議? 我更喜歡能夠在Eclipse中做所有事情,但是如果沒有辦法,有沒有辦法在git之外以這種方式設置存儲庫,那么仍然可以在git中定期使用git控件存儲庫跳過頂級目錄? 非常感謝你。
簡短的回答是它與EGIT + M2E是可能的
訣竅是在共享項目 - >在配置git repo窗口中
確保在項目的父文件夾中使用或創建存儲庫
並確保單擊“創建存儲庫”按鈕
這樣做的主要目的是在項目根目錄中創建.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分鍾內完成:
將遠程git repo克隆到本地文件系統中..例如: ~/git/project_repo_root
像往常一樣創建你的eclipse項目..例如: ~/workspace/eclipse_project_root
從eclipse中刪除項目(但不是文件系統!)
打開文件管理器,將剛創建的eclipse項目從〜/ workspace / root移動到〜/ git
mv ~/workspace/eclipse_project_root ~/git/
將.git /文件夾從repo文件夾移動到eclipse項目根文件夾:
mv ~/git/project_repo_root/.git ~/git/eclipse_project_root
使用shell進入/ eclipse_project_root /並為repo中所需的所有文件執行常用的命令行命令:
git add <abc>; .. commit; .. push
返回Eclipse並轉到Git Perspective,然后單擊“將現有本地Git存儲庫添加到此視圖”。 選擇您正在使用的git倉庫,一旦您說好,就應該使用該倉庫的條目更新視圖。
在視圖中看到本地倉庫后,可以右鍵單擊它並選擇“導入項目”
回到主要的開發視角(Java等),您應該在包瀏覽器視圖的根節點上看到帶有Git標記的項目。
~~~~~
那時,您應該看到剛移動的eclipse項目文件夾(在此處描述的示例中為〜/ git)
我意識到這比我希望得到的答案更冗長,但對於這個特殊的挑戰/解決方案......我不知道有更簡單的方法去做。
至於上面描述的帖子你應該總是包含eclipse項目根目錄..現實是一些項目/客戶/等要求git repo不包含根文件夾。 所以有時需要這樣的解決方案
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.