柚子快报邀请码778899分享:Git泄露(续)

http://yzkb.51969.com/

接上一篇补充

git config --global  user.name "  "

git config --global user.email  邮箱地址

配置用户名和邮箱

git  commit  使其处于交互区,没有使用 -m,默认用vim 来编辑和提交信息

输入要提交的内容,然后按ESC建回到命令模式,输入  :wp  退出

分支

    分支是git中的重要功能,我们可以把它看作代码库中的不同版本,可以独立存在,并且有自己的提交记录,优点是分支中的内容互不影响,保证了主线代码仓库随时处于可用且比较稳定的状态,默认分支为main,

git branch   建立一个新的分支

git checkout dev 切换到不同分支;恢复文件

git switch 切换不同分支

git merge 分支名(eg.dev)    将dev分支和并到当前所在分支,git 会进行一次自动提交,分支合并后仍然存在

git branch -D  强制删除分支   如果合并了的话,可以用-d

合并冲突

形成的原因:git会进行自动合并,当两个分支修改同一代码时会出现错误,要用手工来解决冲突后才能提交

git diff  查看冲突的内容

git status 查看冲突列表

git merge --about 终止合并

指针

HEAD指针

使用git checkout 来移动HEAD指针,移动的对象可以是分支指针也可以是快照。 HEAD指针可以指向快照也可以指向branch。当指向branch时提交后会和branch指针一起向后移动,当不指向branch提交时时则会在一个detached状态。

分支(branch)指针

使用git branch -f 来移动分支指针,移动的对象只能是快照。当且仅当HEAD指针指向分支指针的时候,提交才会有效。

Git引用

Git中的引用是一个非常重要的概念,对于理解分支、HEAD指针以及reflog有帮助。Git系统中的分支名、远程分支名、tag等都是指向某个commit的引用。比如master分支,origin/master远程分支,命名为V1.0.0.0的tag等都是引用,它们通过该保存某个commit的SHA1哈希值指向某个commit

SHA1哈希值

在Git系统中,每个Git对象都通过哈希值来代表这个对象。哈希值是通过SHA1算法计算出来的,长度为40个字符(40-digit)。

对象的存储

所有的Git对象都会存放在.git/objects目录中,对象SHA1哈希值的前两位是文件夹名称,后38位作为对象文件名。

日志

    进入.git/logs文件夹,可以看到这个文件夹也有一个HEAD文件和refs目录,这些就是记录仓库修改的地方。目录下记录了包括git commit,git checkout,git stash等命令的操作历史。

git stash,保存当前工作进度,会把暂存区和工作区的改动保存起来。 执行完这个命令后,在运行git status命令,就会发现当前是一个干净的工作区,没有任何改动。 可以使用git stash pop来恢复之前的进度.

题目:

扫描后发现,存在一个flag.txt,先访问一下,看见一个flag,提交一下,发现不对,应该是存在git泄露

   

按照老方法

不在这里,利用 tree 查看其它版本

真......   找到一堆假的flag

柚子快报邀请码778899分享:Git泄露(续)

http://yzkb.51969.com/

相关阅读

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。