首先建立 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 ,觀察所有檔案

接下來切換回最新的版本
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

Latest posts by SHXJ (see all)
- 受保護的內容: NAS 版 Mathbot 管理網站與 Linebot 啟動方法 - 2024 年 11 月 15 日
- Realtime 啥鬼的 - 2021 年 6 月 15 日
- nodejs 數學遊戲 - 2021 年 6 月 8 日


