Wargames与bash知识21

Wargames与bash知识21

Bandit30

在git官网下载一个《pro git》第二版,学习了一下,稍微对git有了认识:

获取git仓库的方法:

1、对现有的项目进行管理,进入该项目目录

git init 初始化仓库

git add 增加追踪文件

git commit 提交

git commit -m "提交信息"

git commit -a 跳过暂存直接提交

克隆仓库

git clone

查看文件状态

git status

查看暂存前后文件变化

git diff

从仓库删除文件

git rm

重命名文件

git mv

查看历史

git log

查看每次提交内容差异

git log -p

git log -n 近n次提交的差异

git log --stat 列出提交的详细信息

git log --pretty 使用不同指定格式展现历史

--pretty=oneline 每次提交放在一行显示

git log 常用选项

选项 说明

-p 按补丁格式显示每个更新之间的差异。

--stat 显示每次更新的文件修改统计信息。

--shortstat 只显示 --stat 中最后的行数修改添加移除统计。

--name-only 仅在提交信息后显示已修改的文件清单。

--name-status 显示新增、修改、删除的文件清单。

--abbrev-commit 仅显示 SHA-1 的前几个字符,而非所有的 40 个字符。

--relative-date 使用较短的相对时间显示(比如,"2 weeks ago")。

--graph 显示 ASCII 图形表示的分支合并历史。

--pretty 使用其他格式显示历史提交信息。可用的选项包括 oneline,short,full,fuller 和format(后跟指定格式)。

git log --pretty=format 常用的选项

选项 说明

%H 提交对象(commit)的完整哈希字串

%h 提交对象的简短哈希字串

%T 树对象(tree)的完整哈希字串

%t 树对象的简短哈希字串

%P 父对象(parent)的完整哈希字串

%p 父对象的简短哈希字串

%an 作者(author)的名字

%ae 作者的电子邮件地址

%ad 作者修订日期(可以用 --date= 选项定制格式)

%ar 作者修订日期,按多久以前的方式显示

%cn 提交者(committer)的名字

%ce 提交者的电子邮件地址

%cd 提交日期

%cr 提交日期,按多久以前的方式显示

%s 提交说明

撤销操作

git commit --amend

打标签

git tag

推送

git push

别名

git config --global

分支切换

git checkout

解题

关卡提示:

有一个git存储库位于ssh://bandit30-git@localhost/home/bandit30 git/repo通过端口2220。用户bandit30git的密码与用户bandit30的密码相同。

克隆存储库并查找下一级别的密码。

bash 复制代码
```bash
bandit30@bandit:~$ mkdir /tmp/bdit30
bandit30@bandit:~$ cd /tmp/bait30
-bash: cd: /tmp/bait30: No such file or directory
bandit30@bandit:~$ cd /tmp/bdit30
bandit30@bandit:/tmp/bdit30$ git clone ssh://bandit30-git@localhost:2220/home/bandit30-git/repo
Cloning into 'repo'...
The authenticity of host '[localhost]:2220 ([127.0.0.1]:2220)' can't be established.
ED25519 key fingerprint is SHA256:C2ihUBV7ihnV1wUXRb4RrEcLfXC5CXlhmAAM/urerLY.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Could not create directory '/home/bandit30/.ssh' (Permission denied).
Failed to add the host to the list of known hosts (/home/bandit30/.ssh/known_hosts).
                         _                     _ _ _
                        | |__   __ _ _ __   __| (_) |_
                        | '_ \ / _` | '_ \ / _` | | __|
                        | |_) | (_| | | | | (_| | | |_
                        |_.__/ \__,_|_| |_|\__,_|_|\__|


                      This is an OverTheWire game server.
            More information on http://www.overthewire.org/wargames

bandit30-git@localhost's password:

remote: Enumerating objects: 4, done.

remote: Counting objects: 100% (4/4), done.

remote: Total 4 (delta 0), reused 0 (delta 0), pack-reused 0

Receiving objects: 100% (4/4), done.

复制代码
查看README.md没有结果

```bash
bandit30@bandit:/tmp/bdit30/repo$ ls
README.md
bandit30@bandit:/tmp/bdit30/repo$ cat README.md
just an epmty file... muahaha

尝试几次无果

bash 复制代码
bandit30@bandit:/tmp/bdit30/repo$ git log
commit d39631d73f786269b895ae9a7b14760cbf40a99f (HEAD -> master, origin/master, origin/HEAD)
Author: Ben Dover <noone@overthewire.org>
Date:   Thu Oct 5 06:19:45 2023 +0000

    initial commit of README.md
bandit30@bandit:/tmp/bdit30/repo$ git checkout ^C
bandit30@bandit:/tmp/bdit30/repo$ git log origin/master
commit d39631d73f786269b895ae9a7b14760cbf40a99f (HEAD -> master, origin/master, origin/HEAD)
Author: Ben Dover <noone@overthewire.org>
Date:   Thu Oct 5 06:19:45 2023 +0000

    initial commit of README.md
bandit30@bandit:/tmp/bdit30/repo$ ls
README.md
bandit30@bandit:/tmp/bdit30/repo$ cat README.md
just an epmty file... muahaha
bandit30@bandit:/tmp/bdit30/repo$ GIT LOG
GIT: command not found
bandit30@bandit:/tmp/bdit30/repo$ git log
commit d39631d73f786269b895ae9a7b14760cbf40a99f (HEAD -> master, origin/master, origin/HEAD)
Author: Ben Dover <noone@overthewire.org>
Date:   Thu Oct 5 06:19:45 2023 +0000

    initial commit of README.md
bandit30@bandit:/tmp/bdit30/repo$ git checkout origin/HEAD
Note: switching to 'origin/HEAD'.

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 d39631d initial commit of README.md
bandit30@bandit:/tmp/bdit30/repo$ ls -al
total 16
drwxrwxr-x 3 bandit30 bandit30 4096 Jan 19 11:50 .
drwxrwxr-x 3 bandit30 bandit30 4096 Jan 19 11:50 ..
drwxrwxr-x 8 bandit30 bandit30 4096 Jan 19 11:56 .git
-rw-rw-r-- 1 bandit30 bandit30   30 Jan 19 11:50 README.md
bandit30@bandit:/tmp/bdit30/repo$ cat README.md
just an epmty file... muahaha
bandit30@bandit:/tmp/bdit30/repo$ cd ./.git/
bandit30@bandit:/tmp/bdit30/repo/.git$ ls
branches  config  description  HEAD  hooks  index  info  logs  objects  packed-refs  refs
bandit30@bandit:/tmp/bdit30/repo/.git$ cat config
[core]
        repositoryformatversion = 0
        filemode = true
        bare = false
        logallrefupdates = true
[remote "origin"]
        url = ssh://bandit30-git@localhost:2220/home/bandit30-git/repo
        fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
        remote = origin
        merge = refs/heads/master
bandit30@bandit:/tmp/bdit30/repo/.git/refs/remotes/origin$ cat HEAD
ref: refs/remotes/origin/master
bandit30@bandit:/tmp/bdit30/repo/.git/refs/remotes/origin$ cd ..
bandit30@bandit:/tmp/bdit30/repo/.git/refs/remotes$ ls
origin

看看标签,呵呵竟然找到了

bash 复制代码
bandit30@bandit:/tmp/bdit30/repo$ git tag
secret
bandit30@bandit:/tmp/bdit30/repo$ git tag show
bandit30@bandit:/tmp/bdit30/repo$ git tag show secret
fatal: tag 'show' already exists
bandit30@bandit:/tmp/bdit30/repo$ git show secret
OoffzGDlzhAlerFJ2cAiz1D41JW1Mhmt
相关推荐
互联网中的一颗神经元4 小时前
小白python入门 - 39. 采集流水线小项目
开发语言·python
Wang's Blog4 小时前
Go-Zero 项目开发22:用户群聊功能的实现与完善
开发语言·golang
a1117765 小时前
坦克大战3D Three.js 3D (开源项目)
开发语言·javascript·3d
Wang's Blog6 小时前
Go-Zero项目开发24: 基于Bitmap实现群聊消息已读未读
开发语言·后端·golang
阿里云大数据AI技术7 小时前
阿里云 Elasticsearch 9.4 Agent Builder 实战
人工智能·elasticsearch·agent
吃好睡好便好9 小时前
MATLAB中图像的读取、写入和显示
开发语言·图像处理·学习·计算机视觉·matlab
yaoxin5211239 小时前
476. Java 反射 - 调用方法
java·开发语言
猫头虎10 小时前
什么是ZCode for GLM-5.2?
开发语言·人工智能·python·科技·算法·ai编程·ai写作
bksczm11 小时前
Linux之日志和线程池、内存池
java·开发语言
笨蛋不要掉眼泪11 小时前
Java虚拟机:对象复活、引用强度与Stop-The-World
java·开发语言·jvm