Git 移動 HEAD 指標、回復專案與建立分支

首先建立 week8 的資料夾

cd C:\django_projects
mkdir week8
cd week8

登入 github,並且切換到上禮拜的專案

將專案網址複製起來

回到終端機,將上禮拜的專案 clone (複製) 下來

git clone https://github.com/tommy1616/gitwork1.git

此時資料夾下已經有了上禮拜的 gitwork1 專案目錄,進去該資料夾觀察一下版本資訊

cd gitwork1
git log

開啟 VSCODE,觀察一下所有檔案

code .

Git Checkout

現在要切換到第一個版本,請將版本一的 Hash 數值前七位數記起來

git checkout c636ad1

再次開啟 VSCODE ,觀察所有檔案

可以發現只剩下了第一版的 index.html 檔案,其餘檔案都被清除

接下來切換回最新的版本

git checkout master

再次開啟 VSCODE 觀察,可以發現檔案又全部都回來了

Git Reset (回復專案)

開啟 VSCODE 將 index.html 修改成以下的樣子

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="all.css">
<title>First version</title>
</head>
<body>
<h1>Git Test 2</h1>
<h2>Git Rest Test</h2>
</body>
</html>

接著使用 git reset 將 HEAD 指針移到第一版

git reset HEAD^^

用git status觀察一下檔案的變化

git status

可以發現工作區的檔案並沒有被移除,上面修改的index.html的檔案也沒有被修改回原本的樣子

Git reset 與 Git checkout 不同處?

git reset跟git checkout最大的不同是git checkout會殺掉目錄下的所有檔案,再由git repository把舊版資料還原。git reset不會殺掉目錄下的檔案,只是單純把git repository設定回舊版。

Git Branch 建立分支

首先在當前的版本建立一個 dev 分支

git branch dev

再來利用 git checkout dev 切換到 dev 分支進行開發

git checkout dev

將修改後的檔案加入到 stage (追蹤)

git add .

儲存資料到資料庫

git commit -m "change index.html"

再來利用 git log 觀察一下變化

git log	
可以發現切換到了 dev 分支
SHXJ
Latest posts by SHXJ (see all)

發佈留言