vue - git

来源:https://www.cnblogs.com/heymar/archive/2022/04/28/16204646.html
-Advertisement-
Play Games

今天差不多從中午開始下午一點才開始學的,把git學了一大半了,還好任務不是很多,但是我上午用的時間挺值的,因為我去搞了個cnblogs的背景主題,就是你們現在所看到的這套,這個沒搞明白有一通研究的,只不過現在已經搞熟悉了,添加那些參數,不得不說挺強大的,這個自己編輯頁面的功能,我最滿意的這套主題,是 ...


今天差不多從中午開始下午一點才開始學的,把git學了一大半了,還好任務不是很多,但是我上午用的時間挺值的,因為我去搞了個cnblogs的背景主題,就是你們現在所看到的這套,這個沒搞明白有一通研究的,只不過現在已經搞熟悉了,添加那些參數,不得不說挺強大的,這個自己編輯頁面的功能,我最滿意的這套主題,是自適應,以前用的預設的那個手機根本看不了,沒想到現在這個居然還可以自適應對手機用戶簡直福音。
然後第二件事情,今天開始用typora了,感覺還可以,不知不覺一大版筆記,都頭頭是道的,我後面就用Markdown編輯器傳上來了,因為順便可以把我的筆記一起傳上來,再配合點我做的效果演示。
搞了半天的typora自動上傳圖片到博客園裡來那個Python腳本,終於搞好了,以後就方便了我的筆記自動傳上來。

1.關於版本控制

  1. 版本控制軟體

即負責管理文件版本的軟體,記錄文件的版本變化

  1. 好處

以命令的形式,操作簡便等

  1. 分散式版本控制系統

客戶端是伺服器的完整備份,並不是只保留最新版本,而是會把伺服器的所有版本下下來,這樣的話,如果伺服器數據丟失,可以從任意一臺客戶端恢復

2.git基本概念

  1. 什麼是git

開源的分散式版本控制系統,特點:項目越大越複雜,協同開發者越多越能體現git的高性能和高可用性

  1. 特性
  • svn基於差異比較:就是當更新一次版本的時候,不是去記錄最新的版本而是將最新的版本的差異點記錄下來

image-20220428155820623

  • 記錄快照

git裡面的記錄快照分為兩種,一種是版本變化了會在原文件上對更新的版本做一個備份,如果沒有更新就直接做出一個鏈接指向源文件,如下圖,虛線為沒有更新,實現表示更新了

image-20220428160745959

其實這個快照就類似於虛擬機裡面的快照,你每建立一次快照是不是因為你做出了一些操作想保存在這裡,每次快照都是完整的體系所以占用洗盤空間大

  • 近乎所有操作都是本地執行,只需要訪問本地文件和資源,因為前面說過git是分散式控制系統,客戶端和伺服器的資源是一樣的,你有三個版本我也有三個版本,而且這一特性也決定了我們在斷網後照樣可以版本管理 ,如果斷網後你把v3升級到了v4,你只管升級你的,伺服器也檢測不到因為斷網了,當我們聯網後會把記錄同步到雲端的

image-20220428161419477

  1. git三個區域(工作區、暫存區、git倉庫)

當你在寫代碼的時候,代碼的目錄就是一個工作區;當你把代碼寫完一個功能後可以暫時放到暫存區;最後全部完成將其放到git倉庫

  1. git三狀態

image-20220428162455940

  1. git基本工作流程

寫代碼,然後將寫好的功能放在暫存區裡面暫存,此時就已經過了已修改、已暫存狀態,繼續回去完善邏輯,當把所有功能實現後以快照的形式提交到git倉庫裡面

3.安裝配置git

  1. 安裝後檢驗查看右鍵菜單
  2. 配置

設置用戶名和郵箱地址:

image-20220428163511337

註意使用了global選項後說明這個命令只需要運行一次即可永久生效,後面就不用這個命令了

  1. 全局配置

上面的命令執行後其實會在c盤/users/用戶名文件夾/.gitconfig這裡面顯示,這就是git的全局配置文件只要配置在這裡面的配置一次永久生效。

  1. 檢查配置信息

也可以使用命令快速查看

image-20220428164548495

  1. 獲取幫助信息(不用聯網)

git help 我們的命令

eg :git help config

或者 git config -h

4.git基本操作

  1. 獲取git倉庫的兩種方式
  • 將一個本地目錄轉換為git倉庫

    在當前目錄下右鍵git Bash,輸入git init。即可初始化一個倉庫,當前目錄下會有一個.git的隱藏起來的目錄,他就是當前項目的git倉庫,裡面包含了一些初始化的必要文件

  • 從其他伺服器克隆一個git倉庫

  1. 工作區中四種狀態

分為兩大類

一類是未被git管理的:那就會有未跟蹤狀態(在git上一次提交之前沒有這個文件,也就是新創建的)

一類是已被git管理的:未修改(工作區里的內容和git倉庫內容一致)、已修改(工作區裡面的內容和git倉庫內容不一樣)、已暫存(工作區修改的文件已放入暫存區,準備進入已提交狀態)

註意:git操作的終極結果為:讓工作區的文件都處於“未修改”狀態

  1. 檢查文件狀態

git status(輸出的結果叫狀態報告)

image-20220428171127551

關鍵字:Untracked files 表示未跟蹤狀態

以精簡方式顯示文件狀態:git status -s

image-20220428171417338

??表示未跟蹤

  1. 跟蹤新文件

git add 這個文件

image-20220428171737735

committed:新增了這個文件的管理並且放到了暫存區,committed表示暫存區

精簡版為A開頭

  1. 提交更新

git commit 或者 git commit -m 可以對這個提交成功後作進一步的描述

image-20220428172414825

這個就表示未修改狀態,沒有任何文件需要提交了

image-20220428172510197

  1. 對已提交的文件進行修改

當我們把已經提交到倉庫的index.html又拿到工作區上來修改,這個時候去status會顯示modified,簡寫版為M這就是已修改狀態

  1. 暫存已修改的文件

再次運行git add即可 該命令可以吧未跟蹤、已修改的文件放到暫存區

註意:未跟蹤放到暫存區為A開頭,已修改放到暫存區還是modified,還是M但是沒放之前為紅色,現在為綠色

  1. 撤銷對文件的修改

將工作區修改的內容還原成倉庫裡面的內容,所有修改都會丟失且無法恢復,危險性高

git checkout -- index.html



  1. 向暫存區一次性添加多個文件

git add .

今後開發這個命令用的比較多

  1. 取消暫存文件

從暫存區移出一些文件

git reset HEAD 要移出的文件名稱

全部移出出去 git reset HEAD .

  1. 移除文件

    • 從git倉庫和工作區都移除

    git rm -f index.js

    • 只從git倉庫移除,保留工作區中的

    git rm --cached index.css

  2. 忽略文件

一般有些文件是不需要納入git的管理當中的,也不希望出線在未跟蹤列表裡面。

創建一個.gitignore的配置文件(這個文件是可以上傳的)

規範如下:

  • # 開頭都是註釋

  • / 結尾是目錄

  • / 開頭防止遞歸

  • !開頭表示取反

  • glob模式指簡化了的正則:

    • image-20220428175738147
    • 例子image-20220428180033034

    註意:/開頭表示遞歸,這裡的意思是只需略當前目錄下todo文件夾,而不忽略其他目錄下todo文件夾,這就是遞歸;

    倒數第二個:只是忽略這個目錄下的txt文件,但是不會忽略這個目錄下的子目錄下的txt文件

    1. 查看提交歷史

    git log

    git log -2 顯示最新的兩條

    git log -2 --pretty=oneline在一行上展示最近的兩條

    git log -2 --pretty=format:“%h | %an | %ar | %s“ 在一行上展示最近的兩條並自定義輸出格式

    %h表示提交的唯一標識 %an表示作者名字 %ar作者修訂日期 %s提交說明

    1. 回退到指定版本

    image-20220428182011214

    註意:commitID為剛纔說的唯一標誌符,沒有<>符號;回退到前面的版本後你查看提交歷史就是當時那個時候的提交歷史,想要查看所有的包括在他之後的需要輸入第三條命令


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 本文詳細的講解了FFT的實現,簡直是手把手了。我也是慢慢學過來的,知道網上的教程對於初學者不是很友好,所以決定自己寫一份博客來記錄下來我的經驗 ...
  • 本文例子參考《STM32單片機開發實例——基於Proteus虛擬模擬與HAL/LL庫》 源代碼:https://github.com/LanLinnet/STM33F103R6 項目要求 實現流水燈效果。 硬體設計 在第一節的基礎上,在Proteus中添加電路如下圖所示,其中我們添加了一個排阻RX8 ...
  • 如何基於Xcode搭建OpenCV開發環境 我的開發平臺是MacBook Pro (13-inch, M1, 2020),版本11.4,碩士課題是關於電腦視覺的,平時主要用Clion/PyCharm基於opencv-python/C++進行開發。近期閑來沒事體驗一下蘋果官方的開發工具,由於遇到了一 ...
  • Set介面 介紹 無序(添加和取出的順序不一致),沒有索引 不允許重覆,所以最多包含一個null JDK API中Set介面實現類有 Set介面常用方法 和List介面一樣,Set介面也是Collection的子介面,因此,常用方法和Collection介面一樣 特點 不能存放重覆的元素 set介面 ...
  • 主從複製 SLAVEOF 新舊複製功能 舊版複製功能 舊版複製功能的實現為 同步 和 命令傳播: 當剛連上Master時,要做一次全同步: sequenceDiagram participant Slave participant Master Slave->>Master: SYNC Master ...
  • 文章首發於公眾號:BiggerBoy 有讀者說面試被問到怎麼用SQL模擬資料庫死鎖? 這位讀者表示對Java中的死鎖還是略知一二的,但是突然用SQL寫死鎖的案例之前還真沒遇到過,這個問題沒答上來。所以今天就帶大家一起來看下怎麼用SQL讓資料庫中產生死鎖。 什麼是死鎖 說到死鎖,還是先來複習下什麼是死 ...
  • 本次要講的內容是利用RecyclerView顯示Users列表的信息,如下圖所示。 首先我們來創建模型User.java package com.example.mytest.User; import java.util.UUID; public class User{ private UUID m ...
  • 為增強ArkUI開發框架的圖像處理能力,ImageKnife組件應運而生。本期我們將為大家帶來ImageKnife的介紹。 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...