1. 程式人生 > >Git在本地倉庫基本操作

Git在本地倉庫基本操作

Git在本地倉庫基本操作

說明: 本地倉庫是一個.git隱藏檔案

Ubuntu下Git安裝及配置

  • 1.安裝git

    sudo apt-get install git
    
  • 2.檢視git安裝結果

    git
    
  • 3.建立專案並初始化本地倉庫

    • 建立test資料夾,表示是工作專案
    • 進入到test,用git init初始化本地專案,將自動建立本地倉庫.git
    mkdir test
    cd ./test
    git init
    

    在這裡插入圖片描述

    1. 配置個人在本專案中的資訊
    git config user.name "xxxxx"
    git config user.email "[email protected]"

    說名: 在專案中配置了個人資訊後,個人的配置資訊放在了.git/config檔案中, 如果沒有配置個人資訊,將會使用全域性配置裡面的使用者名稱和郵箱,全域性的git配置檔案的路徑為**~/.gitconfjg**

用於版本控制的命令

提交程式碼到本地倉庫

  1. 檢視檔案的狀態 git status
    在這裡插入圖片描述

說明:

  • 紅色表示新建檔案或者新修改的檔案,都在工作區(程式碼編輯區域
  • `綠色表示檔案的暫存區(通過git add test.py可以將檔案從工作區提交到暫區)
  1. 將工作區的檔案新增到暫存區
git add .  # 將專案中所有的檔案新增到暫存區域
 
# 或
git add ReadMe.md  # 將單獨的ReadMe.md新增到暫存區

在這裡插入圖片描述
3.將暫存區的檔案提交到倉庫區

git commit -m "版本提交描述"

在這裡插入圖片描述

說明: 
 > - commit 會生成一條版本記錄,方便後續對提交的記錄跟蹤管理
 > - -m後面是對版本提交的描述資訊,是對提交版本變動的簡要說明。
 > - 可以將上面2和3兩次的操作合併成一次操作,即將程式碼的修改從工作區通過一次操作直接提交到本地的倉庫區。

  git commit -am "版本提交說明"

4 檢視歷史版本

git log
# 或者
git reflog

git reflog 可以檢視所有分支的所有操作記錄(包括commit和reset的操作),包括已經被刪除的commit記錄,git log 則不能察看已經刪除了的commit記錄

版本回退

  • 方案一

    • HEAD: 表示當前最新版本
    • HEAD^: 表示當前最新版本的前一個版本
    • HEAD^^:表示當前最新版本的前兩個版本,以此類推…
    • HEAD~1:表示當前最新版本的前一個版本
    • HEAD~10:表示當前最新版本的前10個版本,以此類推…
    git reset --hard HEAD^ # 回退到當前最新版本的前一個版本
    
  • 方案二: 通過版本號回退到指定的版本

    獲取版本號:git reflog

     git reset --hard 版本號
     
     # 如
     git reset --hard efre45f
    

撤銷修改

  • 只能撤銷工作區、暫存區的程式碼,不能撤銷倉庫區的程式碼
  • 撤銷倉庫區的程式碼就相當於回退版本操作

區分 工作區 暫存區

工作區: 相當於當前編輯器區中所做的修改

暫存區:通過git add 命令新增檔案所至的區域

  • 撤銷工作區程式碼

    即撤銷當前編輯器中的修改

    git checkout 檔名
    

在這裡插入圖片描述

  • 撤銷暫存區程式碼

    • 先增加程式碼test(),並通過git add將修改提交到暫存區
    # 第一步:將暫存區程式碼撤銷到工作區
    git reset HEAD  檔名
    # 第二步:撤銷工作區程式碼
    git checkout 檔名
    

版本對比

  • 對比版本庫與工作區

    git diff HEAD -- login.py
    

    HEAD指的是版本庫中最新的版本

  • 對比版本庫

    • 對比倉庫中當前版本與上一個版本
    git diff HEAD HEAD^ -- login.py
    

刪除檔案

  • 確定刪除

    # 從本地刪除
    rm 檔名  
    # 從倉庫確定刪除
    git rm 檔名  
    # 刪除後記錄刪除操作版本
    git commit -m "刪除操作"
    
  • 誤刪除(撤銷修改即可)

    # 從本地刪除
    rm 檔名  
     # 從倉庫恢復刪除
    git checkout 檔名  
    

其他命令

  • git branch -a : 檢視所有分支

  • git branch dev 建立dev 分支

  • git checkout dev 切換到dev分支

  • git merge master 將master分支 合併到當前分支