請幫助我了解如何提交服務器和客戶端檔案夾。我開始了一個新專案。我想寫后端 node-js 和前端 react-js。我為反應創建了 2 個檔案夾“客戶端”,為節點創建了“服務器”。我有兩個終端用于節點和反應。當我想提交時,git 說我有 ../client 檔案夾。但我想單獨提交。如果我將它一起提交,我必須轉到根檔案夾并創建第三個 .env 檔案,因為 node_modules 在客戶端檔案夾中沒有被忽略。
我需要你的幫助,也許這個問題很簡單,但對我來說這個問題很重。我不明白我該怎么做。
uj5u.com熱心網友回復:
好的,據我所知,您有 3 個簡單的選擇,
選項 1:帶有 npm 作業空間的“真正”的 Monorepo
您將需要npm@7或稍后。
使用此選項,您可以利用npm 作業空間來管理客戶端和服務器的依賴關系。
檔案夾結構看起來像這樣
my-app/
├─ node_modules/
├─ .git/
├─ client/
│ ├─ package.json
│ ├─ src/
│ │ ├─ index.js/
├─ server/
│ ├─ package.json
│ ├─ src/
│ │ ├─ index.js
├─ package.json
.git/是 git 實際存盤資料的地方,所以它的父檔案夾是 repo,在這種情況下my-app/
要使用npm 作業區package.json,您可以在根目錄中設定一個my-app/像這樣
{
"name": "my-app",
"workspaces": [
"server",
"client"
]
}
npm init -w ./server -w ./client有幫助,
要安裝依賴項,你可以這樣做npm i @some-org/some-package -w client,-w標志也是尊重uninstall和ci。
呼叫npm install將為所有作業區安裝依賴項。
然后像往常一樣使用 git,客戶端和服務器都在同一個 repo 中,只需確保添加一個.gitignorein并my-app/跟蹤所有檔案。package.jsonpackage-lock.json
選項 2:“Monorepo”中的兩個同地專案
此選項很簡單,但可能會導致依賴關系等復雜性,因此通常最好避免使用,除非是沒有專案間依賴關系的小型專案。
像這樣的檔案夾結構
my-app/
├─ .git/
├─ client/
│ ├─ package.json
│ ├─ src/
│ ├─ node_modules/
├─ server/
│ ├─ package.json
│ ├─ src/
│ ├─ node_modules/
安裝依賴項時,您需要確保位于正確的檔案夾中。
這里兩個專案是分開的,但是是同一個 repo 的一部分。
選項 3:兩個 git repos
我不推薦這個選項,但這也可以。
my-app/
├─ client/
│ ├─ package.json
│ ├─ src/
│ ├─ node_modules/
│ ├─ .git/
├─ server/
│ ├─ package.json
│ ├─ src/
│ ├─ node_modules/
│ ├─ .git/
只要確保它的根目錄中my-app/沒有.git/檔案夾。
ls -a將列印隱藏的檔案/檔案夾。
uj5u.com熱心網友回復:
您可以通過以下兩種方式之一來解決此問題。
通過將 .../client 檔案夾添加到您的 .gitignor 檔案中。將其分離到不同的分支,即“前端”和“后端”
uj5u.com熱心網友回復:
你可以看看git submodules
或者,您可以為前端和后端創建單獨的存盤庫(正如為前端和后端擁有單獨團隊的公司所做的那樣)。在這種情況下,您必須以.git相同的方式洗掉現有檔案夾并在兩個檔案夾中設定 git 存盤庫。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/521436.html
上一篇:從2個分支克隆差異檔案
下一篇:gitlab圖中未顯示主分支
