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)

发布留言