跳至主要內容

Git 拉取指定历史版本代码

Siona大约 2 分钟

Git 拉取指定历史版本代码

1. 创建文件夹,并 git init

siona@siona-Mac-mini smardaten-plugin % mkdir tree-plugin
siona@siona-Mac-mini smardaten-plugin % cd tree-plugin 
siona@siona-Mac-mini tree-plugin % git init
Initialized empty Git repository in /Users/xinna/Documents/WorkSpace/webstorm/qx_ai/smardaten-plugin/tree-plugin/.git/

2. 添加远程仓库

siona@siona-Mac-mini tree-plugin % git remote add main https://e.coding.net/sionas/qx_ai/tree-plugin.git

3. 拉取远程仓库代码到本地

git pull [本地分支][远程分支]

siona@siona-Mac-mini tree-plugin % git pull main master
Username for 'https://git地址': git账号
Password for 'https://git账号@git地址': 
fatal: couldn't find remote ref master

# 注意:分支名称,此处报错是因为 git 仓库的分支名并不是默认的 master
siona@siona-Mac-mini tree-plugin % git pull main main  
remote: Enumerating objects: 181, done.
remote: Counting objects: 100% (181/181), done.
remote: Compressing objects: 100% (106/106), done.
remote: Total 181 (delta 57), reused 181 (delta 57), pack-reused 0
Receiving objects: 100% (181/181), 1.65 MiB | 5.52 MiB/s, done.
Resolving deltas: 100% (57/57), done.
From https://e.coding.net/sionas/qx_ai/tree-plugin
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> main/main

# ls 查看是否拉取成功
xinna@xinnas-Mac-mini tree-plugin % ls
README.md		package.json		scripts
babel.config.js		pluginTemp		src
output			pnpm-lock.yaml		vue.config.js
package-lock.json	public

4. 查看提交日志

git log --pretty=oneline(每个提交放在一行显示,在浏览大量的提交时非常有用)

xinna@xinnas-Mac-mini tree-plugin % git log --pretty=oneline
8592ff3087ed356aaa49fc8f1f8ed705c1613ecd (HEAD -> main, main/main) 乱七八糟的测
试
2ba6f963c494e6b32973b585271438a042211bb0 feat 增加 ant-design 组件 feat 树形下拉框
bd89f1dd998be494caf513cf445e9daa54eb0b09 fix 删除多余代码
814f99535d5239d6f857976c826f5167418f5169 fix 删除多余代码
b7eace3a5102b4ebcc6d1a234c3aa0f06af8d7b6 fix 删除之前的不必要的代码
5c401718786089c08226d8e03387261d59611206 feat 树形菜单报警、异常标记
e17e38146cbfb5fad8725ef0509bbae95275399a feat 树形菜单接口数据对接
6a1e55d2e55a3f0e40e883e404cb4a40aa9af7a7 初始化

5. 选择 checkout 的版本

xinna@xinnas-Mac-mini tree-plugin % git checkout bd89f1dd998be494caf513cf445e9daa54eb0b09
Note: switching to 'bd89f1dd998be494caf513cf445e9daa54eb0b09'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:

  git switch -c <new-branch-name>

Or undo this operation with:

  git switch -

Turn off this advice by setting config variable advice.detachedHead to false

HEAD is now at bd89f1d fix 删除多余代码

6. 验证

再次查看日志,发现 HEAD 已经为需要回退的版本

xinna@xinnas-Mac-mini tree-plugin % git log --pretty=oneline
bd89f1dd998be494caf513cf445e9daa54eb0b09 (HEAD) fix 删除多余代码
814f99535d5239d6f857976c826f5167418f5169 fix 删除多余代码
b7eace3a5102b4ebcc6d1a234c3aa0f06af8d7b6 fix 删除之前的不必要的代码
5c401718786089c08226d8e03387261d59611206 feat 树形菜单报警、异常标记
e17e38146cbfb5fad8725ef0509bbae95275399a feat 树形菜单接口数据对接
6a1e55d2e55a3f0e40e883e404cb4a40aa9af7a7 初始化