git入門教程+常用命令

Git入門教程

本文章主要參照視頻教程:https://www.bilibili.com/video/BV1FE411P7B3/?spm_id_from=333.337.search-card.all.click&vd_source=06caf161b187fb3f4c039bc15e238fea

為什么要使用GIT

版本控制是項目、文檔迭代的必然要求,所以需要使用git來進行版本控制
在這里插入圖片描述

本地版本控制

在這里插入圖片描述
記錄文件更新,對不同版本文件做一個快照或是記錄補丁,適合個人使用,例如RCS
在這里插入圖片描述

集中版本控制

所有版本數據放在服務器上(CS架構),每個開發者從服務器上拉取最新版本或上傳自己的修改
在這里插入圖片描述
特點:

  1. 所有數據保存在單一的服務器上,容易受到服務器損壞影響
  2. 用戶本地只有自己之前同步的版本,不聯網看不到歷史版本
  3. 代表性產品:SVN

分布式版本控制

特點:

  1. 所有版本信息倉庫全部同步到每個用戶本地
  2. 可以本地查看所有歷史版本,可以離線本地提交
  3. 需要在聯網時push到相應的服務器或其它用戶處
  4. 增加了本地存儲空間的占用
  5. 有保密安全隱患
  6. 代表性產品:Git
    在這里插入圖片描述

SVN與Git

  1. SVN是集中式版本控制系統,Git是分布式版本控制系統
  2. 所以SVN的所有歷史版本都在一個服務器上,而Git所有用戶都有完整的歷史記錄
  3. SVN需要拉取遠程版本,完成工作后上傳到遠程
  4. Git在工作時不需要聯網,聯網協同時進行code review即可

安裝Git及環境配置

在這里插入圖片描述

官網下載地址: https://git-scm.com/

淘寶鏡像地址:https://registry.npmmirror.com/binary.html?path=git-for-windows/

點擊下載鏈接之后,將會跳到Downloading Git,根據自己電腦系統選擇不同的位數進行下載,這里有兩個版本區別如下:
Standalone Installer:安裝版,安裝完之后會自動在鼠標右鍵時顯示 Git GUI Here 和 Git Bash Here (推薦)
Portable (“thumbdrive edition”):綠色版,解壓就能運行,免安裝,不過綠色版不會在鼠標右鍵時顯示 Git GUI Here 和 Git Bash Here

剩余設置查看:https://blog.51cto.com/u_15756445/5592505
安裝完成后在任意文件夾位置點擊鼠標右鍵即可出現:
在這里插入圖片描述

Git Bash:Unix與Linux風格的命令行,推薦

Git GUI :圖形界面的Git 建議少使用 多熟悉命令行

后面都是直接用cmd了

Linux基本命令

cd xxxcd到某個目錄
cd …回退到上一個目錄
cd回到根目錄
pwd顯示當前路徑
ls顯示當前目錄文件
ll顯示當前目錄文件(詳細)
touch xx.xx新建文件
rm xx.xx刪除文件
mkdir新建文件夾
rm -r xxx刪除xxx文件夾
mv xxx.xx src xx將xxx文件移動到xx目錄下
clear清屏
reset重新加載終端
history查看命令歷史
help幫助
exit退出

Git的必要配置

查看配置

git config -l 當前的配置清單
在這里插入圖片描述

git config - -system -l 查看系統配置
在這里插入圖片描述

git config - -global -l 查看當前用戶本地全局配置 (需要在git 文件夾里)

在這里插入圖片描述
在這里插入圖片描述
這些配置文件都保存在本地:

  1. Git\etc\gitconfig或Git\mingw64\etc\gitconfig Git安裝目錄下 是system系統配置
  2. C:\Users\微軟賬戶.gitconfig或C:\Users\Administrator.gitconfig 適用于當前登錄用戶的配置 是global用戶全局配置

都可以直接編輯

推薦使用everything來查找電腦文件 如下圖

在這里插入圖片描述

配置用戶及郵箱(必要)

git config - -global user.name “xxx”

git config - -global user.email xxx

Git工作原理

Git工作區域

Git本地有三個區域——工作目錄(Working Directory)、暫存目錄(Stage(Index))、資源庫(Reposit或Git Directory)

遠程有一個區域——git倉庫(Remote Directory)

在這里插入圖片描述

  • 工作目錄(Working Directory)、工作區(Workspace):平時存放項目代碼的地方
  • Index/Stage:暫存區 臨時存放修改
  • Repository:倉庫區,是安全存放數據的位置,HEAD會指向最后存入倉庫的版本
  • Remote:遠程倉庫,托管代碼的服務器

工作目錄構成:

  • Directory:使用Git管理的目錄,也是一個倉庫 包含我們的工作空間和Git的管理文件
  • Workspace:需要通過git管理版本的目錄和文件
  • .git:存放Git管理信息的目錄,初始化倉庫時自動創建
  • Index/Stage:待提交區,在提交給repo之前所有的更新都在暫存區
  • Local Repo:本地倉庫,存放在本地的版本庫,HEAD是當前的開發分支

工作區存放文件 .git(隱藏文件夾)
在這里插入圖片描述
在這里插入圖片描述

打開.git文件夾可以看到HEAD 和Index

在這里插入圖片描述

其中HEAD文件夾打開后是對最新的項目版本的引用

在這里插入圖片描述

Git工作流程

  1. 在工作目錄添加、修改文件
  2. 將需要版本管理的文件放入暫存區域(git add)
  3. 將暫存區域的文件提交到git倉庫(git commit)

文件狀態有三種:已修改(modified)、已暫存(staged)、已提交(committed )

Git實踐

Git項目搭建

常用指令

在這里插入圖片描述
常用六大指令如圖

  1. 所有修改不一定全部都要提交,只選需要提交的(add)
  2. 提交(commit)
  3. 本地同步遠程(push)
  4. 遠程克隆本地(clone)
  5. 本地切換工作區(checkout)
  6. 遠程直接同步工作區(pull)

本地倉庫搭建

  1. 打開文件夾,右鍵 git bash here
  2. 初始化倉庫
    1. git init 初始化倉庫 生成.git文件夾
    2. git clone link 克隆遠程倉庫
      在這里插入圖片描述

文件狀態轉換

文件的4種狀態轉換如下流程圖:
在這里插入圖片描述

文件狀態轉換實踐

git status 查看所有文件狀態 此時會顯示當前目錄下所有文件的狀態

git status 文件名 查看指定文件狀態

新創建的文件將會被分類為Untracked files
在這里插入圖片描述

git add . 添加所有文件到暫存區

git add 文件名 添加指定文件到暫存區

添加之后文件變為staged
在這里插入圖片描述

git commit -m “提交備注” 提交文件到本地倉庫

git commit -m "commit message"

此時如果是從遠程倉庫克隆的,就會提示可以push到遠程倉庫
在這里插入圖片描述

git push 指令將本地倉庫與遠程倉庫同步

git push origin branch-name

origin是遠程倉庫的名稱,branch-name是要推送到的遠程分支的名稱
在這里插入圖片描述

忽略文件

對于一些不需要進行版本控制的文件可以進行忽略

在主目錄下創建.gitignore文件,此文件有以下示例:

  1. 忽略空行和#開頭的內容
  2. *.txt 忽略所有以txt結尾的文件
  3. !lib.txt 但lib.txt除外
  4. /temp 忽略目錄下除了temp之外的文件夾
  5. build/ 忽略build目錄下的所有文件
  6. doc/*.txt 忽略形如doc/notes.txt 但不包括doc/server/arch.txt

碼云Gitee使用

碼云注冊

SSH公鑰

  1. 進入C:\Users\微軟用戶名.ssh文件夾
  2. 右鍵此文件夾進入git bash
  3. 鍵入 ssh-keygen -t rsa (這里rsa是加密算法)
  4. 回車到生成完成
    在這里插入圖片描述

這里id_rsa 是私鑰 .pub是公鑰

打開.pub文件,復制內容并粘貼到碼云的公鑰一欄

打開碼云-頭像-個人主頁-SSH公鑰

在這里插入圖片描述

輸入公鑰并添加即可

在這里插入圖片描述

新建倉庫

在這里插入圖片描述

也可以右上角導入GitHub的倉庫
在這里插入圖片描述

找到供克隆的鏈接 clone到本地即可
在這里插入圖片描述

IDE集成Git的使用

Jetbrain IDEA: https://www.bilibili.com/video/BV1FE411P7B3?p=12&vd_source=06caf161b187fb3f4c039bc15e238fea

VSCode:https://code.visualstudio.com/docs/sourcecontrol/overview

在這里插入圖片描述

打開非git管理的文件夾:
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

ctrl shift + p 輸入clone可以克隆遠程倉庫

Git分支

Git控制下的項目往往會有許多不同的分支。代表主干、開發、新特性等等的分支
在這里插入圖片描述

分支常用指令

git branch # 列出所有本地分支git branch -r # 列出所有遠程分支git branch branchname  #新建一個分支,但依然停留在當前分支git branch -b branchname #新建一個分支并且換到該分支git merge branchname #合并指定分支到當前分支git branch -d branchname #刪除分支git push origin --delete branchname # 刪除遠程分支
git branch -dr branchname #刪除遠程分支

分支合并時可能會產生沖突,需要修改沖突

一般分支標準

master/main分支作為主分支,應該用來發布新版本,需要特別穩定,一般情況下不允許在上面工作,工作一般是在dev分支上,dev代碼分支穩定后合并到主分支上來。

進階資源

Git大全:https://gitee.com/all-about-git

學習Git分支:https://oschina.gitee.io/learn-git-branching/

官方Git book:https://git-scm.com/book/en/v2

Git常用命令

倉庫

# 在當前目錄新建一個Git代碼庫
$ git init# 新建一個目錄,將其初始化為Git代碼庫
$ git init [project-name]# 下載一個項目和它的整個代碼歷史
$ git clone [url]

配置

# 顯示當前的Git配置
$ git config --list# 編輯Git配置文件
$ git config -e [--global]# 設置提交代碼時的用戶信息
$ git config [--global] user.name "[name]"
$ git config [--global] user.email "[email address]"

增加/刪除文件

# 添加指定文件到暫存區
$ git add [file1] [file2] ...# 添加指定目錄到暫存區,包括子目錄
$ git add [dir]# 添加當前目錄的所有文件到暫存區
$ git add .# 添加每個變化前,都會要求確認
# 對于同一個文件的多處變化,可以實現分次提交
$ git add -p# 刪除工作區文件,并且將這次刪除放入暫存區
$ git rm [file1] [file2] ...# 停止追蹤指定文件,但該文件會保留在工作區
$ git rm --cached [file]# 改名文件,并且將這個改名放入暫存區
$ git mv [file-original] [file-renamed]

代碼提交

# 提交暫存區到倉庫區
$ git commit -m [message]# 提交暫存區的指定文件到倉庫區
$ git commit [file1] [file2] ... -m [message]# 提交工作區自上次commit之后的變化,直接到倉庫區
$ git commit -a# 提交時顯示所有diff信息
$ git commit -v# 使用一次新的commit,替代上一次提交
# 如果代碼沒有任何新變化,則用來改寫上一次commit的提交信息
$ git commit --amend -m [message]# 重做上一次commit,并包括指定文件的新變化
$ git commit --amend [file1] [file2] ...

分支

# 列出所有本地分支
$ git branch# 列出所有遠程分支
$ git branch -r# 列出所有本地分支和遠程分支
$ git branch -a# 新建一個分支,但依然停留在當前分支
$ git branch [branch-name]# 新建一個分支,并切換到該分支
$ git checkout -b [branch]# 新建一個分支,指向指定commit
$ git branch [branch] [commit]# 新建一個分支,與指定的遠程分支建立追蹤關系
$ git branch --track [branch] [remote-branch]# 切換到指定分支,并更新工作區
$ git checkout [branch-name]# 切換到上一個分支
$ git checkout -# 建立追蹤關系,在現有分支與指定的遠程分支之間
$ git branch --set-upstream [branch] [remote-branch]# 合并指定分支到當前分支
$ git merge [branch]# 選擇一個commit,合并進當前分支
$ git cherry-pick [commit]# 刪除分支
$ git branch -d [branch-name]# 刪除遠程分支
$ git push origin --delete [branch-name]
$ git branch -dr [remote/branch]# 分支更名(不在要更名的分支上)
git branch -m 舊分支名 新分支名

標簽

# 列出所有tag
$ git tag# 新建一個tag在當前commit
$ git tag [tag]# 新建一個tag在指定commit
$ git tag [tag] [commit]# 刪除本地tag
$ git tag -d [tag]# 刪除遠程tag
$ git push origin :refs/tags/[tagName]# 查看tag信息
$ git show [tag]# 提交指定tag
$ git push [remote] [tag]# 提交所有tag
$ git push [remote] --tags# 新建一個分支,指向某個tag
$ git checkout -b [branch] [tag]

查看信息

# 顯示有變更的文件
$ git status# 顯示當前分支的版本歷史
$ git log# 顯示commit歷史,以及每次commit發生變更的文件
$ git log --stat# 搜索提交歷史,根據關鍵詞
$ git log -S [keyword]# 顯示某個commit之后的所有變動,每個commit占據一行
$ git log [tag] HEAD --pretty=format:%s# 顯示某個commit之后的所有變動,其"提交說明"必須符合搜索條件
$ git log [tag] HEAD --grep feature# 顯示某個文件的版本歷史,包括文件改名
$ git log --follow [file]
$ git whatchanged [file]# 顯示指定文件相關的每一次diff
$ git log -p [file]# 顯示過去5次提交
$ git log -5 --pretty --oneline# 顯示所有提交過的用戶,按提交次數排序
$ git shortlog -sn# 顯示指定文件是什么人在什么時間修改過
$ git blame [file]# 顯示暫存區和工作區的差異
$ git diff# 顯示暫存區和上一個commit的差異
$ git diff --cached [file]# 顯示工作區與當前分支最新commit之間的差異
$ git diff HEAD# 顯示兩次提交之間的差異
$ git diff [first-branch]...[second-branch]# 顯示今天你寫了多少行代碼
$ git diff --shortstat "@{0 day ago}"# 顯示某次提交的元數據和內容變化
$ git show [commit]# 顯示某次提交發生變化的文件
$ git show --name-only [commit]# 顯示某次提交時,某個文件的內容
$ git show [commit]:[filename]# 顯示當前分支的最近幾次提交
$ git reflog

遠程同步

# 下載遠程倉庫的所有變動
$ git fetch [remote]# 顯示所有遠程倉庫
$ git remote -v# 顯示某個遠程倉庫的信息
$ git remote show [remote]# 增加一個新的遠程倉庫,并命名
$ git remote add [shortname] [url]# 取回遠程倉庫的變化,并與本地分支合并
$ git pull [remote] [branch]# 上傳本地指定分支到遠程倉庫
$ git push [remote] [branch]# 強行推送當前分支到遠程倉庫,即使有沖突
$ git push [remote] --force# 推送所有分支到遠程倉庫
$ git push [remote] --all# 刪除遠程倉庫
git remote rm [name]# 更改遠程倉庫地址
git remote set-url origin [url]

撤銷

# 恢復暫存區的指定文件到工作區
$ git checkout [file]# 恢復某個commit的指定文件到暫存區和工作區
$ git checkout [commit] [file]# 恢復暫存區的所有文件到工作區
$ git checkout .# 重置暫存區的指定文件,與上一次commit保持一致,但工作區不變
$ git reset [file]# 重置暫存區與工作區,與上一次commit保持一致
$ git reset --hard# 重置當前分支的指針為指定commit,同時重置暫存區,但工作區不變
$ git reset [commit]# 重置當前分支的HEAD為指定commit,同時重置暫存區和工作區,與指定commit一致
$ git reset --hard [commit]# 重置當前HEAD為指定commit,但保持暫存區和工作區不變
$ git reset --keep [commit]# 新建一個commit,用來撤銷指定commit
# 后者的所有變化都將被前者抵消,并且應用到當前分支
$ git revert [commit]#暫時將未提交的變化移除,稍后再移入
$ git stash
$ git stash pop# 移除緩存
git rm -r --cached .# 撤銷commit
git reset HEAD^

其他

# 生成一個可供發布的壓縮包
$ git archive

以上常用命令來自阮一峰老師的博客文章《常用 Git 命令清單》感謝阮老師!

實踐常用命令

# 重命名文件
mv nameA(.xx) nameB(.xx)# 移動文件
mv fileA dirA
  1. 無法鏈接Github

    在這里插入圖片描述

    我這里的命令是git config --global http.proxy http://127.0.0.1:7890

  2. 文件超大小:this exceeds GitHub’s file size limit of 100.00 MB【本部分未完全解決】
    在這里插入圖片描述

安裝git lfs:

安裝 Git Large File Storage - GitHub 文檔

使用git lfs:

  • 使用 git lfs track 命令進行大文件追蹤 例如git lfs track "*.png" 追蹤所有后綴為png的文件
  • 使用 git lfs track 查看現有的文件追蹤模式
  • 提交代碼需要將gitattributes文件提交至倉庫. 它保存了文件的追蹤記錄
  • 提交后運行git lfs ls-files 可以顯示當前跟蹤的文件列表
  • 將代碼 push 到遠程倉庫后,LFS 跟蹤的文件會以『Git LFS』的形式顯示:
  • clone 時 使用’git clone’ 或 git lfs clone均可

配置 Git Large File Storage - GitHub 文檔

  1. Github不同步contribution

解決:查看本地git的郵箱在不在github的設置里面

  1. 清除commit記錄

BFG Repo-Cleaner

BFG Repo-Cleaner 的使用

git bfg 的使用(刪除提交記錄中的敏感信息,刪除文件等)_Grassto的博客-CSDN博客

或者直接刪掉.git和.gitignore文件重新初始化git

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/213844.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/213844.shtml
英文地址,請注明出處:http://en.pswp.cn/news/213844.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Springboot自定義start首發預告

Springboot自定義start首發預告 基于Springboot的自定義start , 減少項目建設重復工作, 如 依賴 , 出入參包裝 , 日志打印 , mybatis基本配置等等等. 優點 模塊化 可插拔 易于維護和升級 定制化 社區支持(后期支持) 發布時間 預告: 2023-12-10 預計發布: 2024-1-1 , 元旦首…

Android 設置音量默認值

在車機 Audio 開發中,有很多場景需要設置音量的最大值和最小值問題,例如通話模式通常是禁止靜音的,耳機模式調整到較大音量時開機后會恢復一個最大默認值等問題。而且通常情況下不通車型的默認值可能會不同,這篇文章就來看一下如何…

Java多線程是什么?

Java多線程是什么? Java多線程是指在程序中同時運行多個線程,每個線程都是獨立運行的,即有自己的執行路徑、棧、寄存器等資源,并且可以同步地訪問共享數據。 Java多線程的主要優勢在于能夠充分利用多核處理器,同時提…

移動端原生實現列表列固定橫向滾動功能

功能介紹: 在移動端開發中,會用到列表作為信息展示方式,一般希望上下滾動時,可以固定表頭,左右滾動時,可以固定最左列。 需求: 1、列表可以使用數組循環遍歷; 2、上下滾動時&…

離線環境下使用百度地圖(vue版)(展示自己的地圖瓦片)3.0版本api

1.下載自己想要的地圖網片 (1)瓦片圖下載 提取百度網盤中文件,然后運行exe文件,選擇要下載的層級及地區即可 百度網盤鏈接:https://pan.baidu.com/s/16sOJ9ws7HCgNH3EMf7Ejyg?pwd0q0e 提取碼:0q0e (2)將瓦片圖映射到網上 推薦使…

CSS中常用的10個文本樣式屬性

一個頁面中,文本樣式,是必不可少的,當然css也給我們準備了很多很多很多的文本樣式,以下列舉了10個常用的文本樣式屬性及常用的屬性值,掌握了,也基本滿足使用了 1: text-transform 可以用來設置文本的大小寫…

Python-docx 深入word源碼 自定義字符間距

代碼和實現效果 from docx import Document from docx.oxml import OxmlElement from docx.oxml.ns import qn from docx.shared import Pt# 調整pt設置字間距 def SetParagraphCharSpaceByPt(run, pt1):通過修改word源碼方式, 添加w:spacing標簽直接通過調整pt來設置字符間距…

Blender學習--制作帶骨骼動畫的機器人

1. 首先創建一個機器人模型 時間關系,這部分步驟有時間補充 2. 然后為機器人創建一副骨架 時間關系,這部分步驟有時間補充 3.骨骼綁定 切換到物體模式,選中機器人頭部,Shift選中骨骼,切換到姿態模式,&am…

SpringBoot集成系列--xxlJob

文章目錄 一、搭建調度中心xxl-job-admin1、下載項目2、調整項目參數3、執行初始化數據庫SQL4、啟動項目5、訪問 二、集成步驟1、添加xxl-job的依賴2、添加xxl-job的依賴3、配置執行器4、創建執行器5、開發任務1)方式1:BEAN模式(方法形式&…

RocketMQ源碼

RocketMQ的核心三流程 啟動流程 RocketMQ服務端由兩部分組成NameServer和Broker,NameServer是服務的注冊中心,Broker會把自己的地址注冊到NameServer,生產者和消費者啟動的時候會先從NameServer獲取Broker的地址,再去從Broker發…

【自動駕駛】2023年度盤點:智能汽車、自動駕駛、車聯網必讀書

2023年,智能駕駛和新能源汽車行業仍然有著肉眼可見的新進展。自動駕駛技術繼續嘗試從輔助駕駛向自動駕駛的過渡,更重要的是相關技術成本的下降。根據《全球電動汽車展望2023》等行業報告,預計2023年平均成本將降至100美元/千瓦時以下&#xf…

知識筆記(四十八)———mysql的優缺點

MySQL作為一個廣泛應用的關系型數據庫管理系統,具有以下優點和缺點: 優點: 開源和免費:MySQL是開源軟件,用戶可以免費獲取和使用它。這使得MySQL成為個人開發者和小型組織的理想選擇。 良好的性能:MySQL經…

成都工業學院Web技術基礎(WEB)實驗八:BOM、DOM基本操作

寫在前面 1、基于2022級計算機大類實驗指導書 2、代碼僅提供參考,前端變化比較大,按照要求,只能做到像,不能做到一模一樣 3、圖片和文字僅為示例,需要自行替換 4、如果代碼不滿足你的要求,請尋求其他的…

【開源】基于Vue.js的就醫保險管理系統

文末獲取源碼,項目編號: S 085 。 \color{red}{文末獲取源碼,項目編號:S085。} 文末獲取源碼,項目編號:S085。 目錄 一、摘要1.1 項目介紹1.2 項目錄屏 二、功能模塊2.1 科室檔案模塊2.2 醫生檔案模塊2.3 預…

最好的貓罐頭品牌有哪些?精選的5款口碑好的貓罐頭推薦!

對于一個剛入門的養貓小白來說,面對市面上琳瑯滿目的貓罐頭選擇確實讓人頭大。我們總想選到營養價值高的罐頭,但又怕貓咪不喜歡吃,也擔心選到不安全的產品。 最好的貓罐頭品牌有哪些?根據我開寵物店7年的經驗,今天我將…

Java基礎——static關鍵字

對象只有在new的時候才會分配空間,有時候我們希望不管是否產生了對象或無論產生了多少對象的情況下,某些特定的數據在內存空間里只有一份,就可以static修飾成員,也稱靜態成員或類成員。 static可修飾屬性、方法、代碼塊、內部類。…

python一點通:參數列表里面有星號 * 什么意思?

在Python類或函數參數列表中,我們有時會看到星號*,它是什么意思呢? 什么是僅限關鍵字參數? Python 3中引入的僅限關鍵字參數是指必須通過其名稱來指定的函數或方法參數。它們避免了由于存在多個參數而引起的混淆,增強…

「哈士奇贈書活動 - 46期」-『技術人修煉之道:從程序員到百萬高管的72項技能(第2版)』

?? 贈書 - 《技術人修煉之道(第2版)》 ?? 內容簡介 本書旨在幫助計算機IT技術人員提升職場核心技能、架構思維、團隊管理能力、商業認知,讓每一位普通的技術從業者,修煉成為"技術職場超級個體”,通過全面升級…

IntelliJ IDEA無公網遠程連接Windows本地Mysql數據庫提高開發效率

🔥博客主頁: 小羊失眠啦. 🎥系列專欄:《C語言》 《數據結構》 《Linux》《Cpolar》 ??感謝大家點贊👍收藏?評論?? 前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,…

windows啟動出現 zookeeper此處不應有java

可能是Java 路徑出了問題,這個programFiles直接有空格,沒錯就有空格,筆者一開始以為這么點算什么空格,需要把這個對應的Java文件到別的英文路徑下,并且修改環境變量。就可以啟動的。 還可以啟動方式有很多種&#xff0…