惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Google DeepMind News
Google DeepMind News
Cisco Talos Blog
Cisco Talos Blog
O
OpenAI News
C
Cybersecurity and Infrastructure Security Agency CISA
L
LINUX DO - 最新话题
T
Tenable Blog
SecWiki News
SecWiki News
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
TaoSecurity Blog
TaoSecurity Blog
S
Security @ Cisco Blogs
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Latest news
Latest news
N
News and Events Feed by Topic
N
News and Events Feed by Topic
A
Arctic Wolf
AWS News Blog
AWS News Blog
I
Intezer
Scott Helme
Scott Helme
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
W
WeLiveSecurity
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
T
Threatpost
Project Zero
Project Zero
N
News | PayPal Newsroom
Hacker News: Ask HN
Hacker News: Ask HN
Cyberwarzone
Cyberwarzone
P
Privacy & Cybersecurity Law Blog
V
Vulnerabilities – Threatpost
Application and Cybersecurity Blog
Application and Cybersecurity Blog
Hacker News - Newest:
Hacker News - Newest: "LLM"
Forbes - Security
Forbes - Security
Security Archives - TechRepublic
Security Archives - TechRepublic
Cloudbric
Cloudbric
T
Tor Project blog
Know Your Adversary
Know Your Adversary
H
Heimdal Security Blog
K
Kaspersky official blog
The Hacker News
The Hacker News
NISL@THU
NISL@THU
P
Palo Alto Networks Blog
Schneier on Security
Schneier on Security
PCI Perspectives
PCI Perspectives
Spread Privacy
Spread Privacy
Help Net Security
Help Net Security
G
GRAHAM CLULEY
T
Threat Research - Cisco Blogs
L
Lohrmann on Cybersecurity
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Recent Commits to openclaw:main
Recent Commits to openclaw:main
T
The Exploit Database - CXSecurity.com

卷卷

今日说法 节目汇总笔记 《斯坦福大学人生设计课》读书笔记 我的书单📖 H-worm (VBS蠕虫) 感染事件溯源分析报告 AMOS (Atomic Stealer) 恶意软件深度分析 银狐26年全面复活,对抗强度或已超25年最高水平 Atomic Stealer (AMOS) 回归:ClickFix、伪装加密货币应用与新型 macOS 持久化机制 关于xt.exe的分析报告 仿真钓鱼页面窃取用户凭证 GitHub Pages配置Cloudflare CDN踩坑之路 推荐RSS热力图和Github热力图使用指南 学习逆向工程相关概念 zabbix快速上手 学习python高级语法特性例题笔记 学习云计算基本理论学习笔记 学习Docker-Compose命令及镜像构建与推送 ATT &CK 框架实践阅读笔记 rundll32.exe恶意加载DLL文件外联 《悉达多》读书笔记 《稀缺》读书笔记 《认知觉醒》读书笔记 《营养学》读书笔记 《心理学》读书笔记 热💖生活 C++开发环境配置与程序运行笔记 IDA Free调试Hello World笔记 逆向免杀 Admin.canway账号命名方式 BAS - Breach and Attack Simulation Windows核心系统进程链与svchost深度解析 企业测试环境的弱口令需要整改吗 AI对话笔记-模板 网络安全行业招聘需求与技术能力分析 银狐木马技术原理分析与检测技术 SIEM-安全信息和事件管理 AI笔记 转载 专业备考⏳ 其他杂项🧶 Markdown 原生图片 知道创宇技能表 Prompt越狱手册 deepseek使用指南 清华大学 deepseek提问方法 markdown基本语法 数据湖:它们是什么?为什么您的组织需要一个? GitHub Codespaces velociraptor(迅猛龙)快速上手 学习windows快捷命令 学习常用 150 个Linux命令 软考中的一些概念 学习ssh基本使用 Linux系统换源输入法和包管理器 DC-8靶机 Metasploitable3下载与安装 信息收集方法及流程 防守之道 开发运维 免责声明 密码喷射攻击:防范攻击你需要知道的事项 密码学中的哈希解释:它的工作原理、算法和实际用途 应急响应术语 各种报错积累 漏洞挖掘思路 收藏夹 RDP和360星图使用 windows入侵排查 Linux入侵排查 Redis日志分析 Linux安全加固 windows安全加固 windows日志ID速查 中间件加固 数据库安全加固 windows系统提权 MySQL注入复盘 学习Web Shell 学习Linux命令 java环境配置 学习python基础语法特性解题笔记 学习Mysql基础知识 windows权限维持 学习网络及安全的一些术语 PHP代码审计 Linux系统提权 MSSQL注入复盘 Linux权限维持 命令执行和反序列化 逻辑漏洞 upload-labs 框架漏洞 学习PHP语法特性 XXE&SSRF CSRF 文件上传 Google Hacking XSS-lab XSS实验 学习URL请求后的通信过程 FOFA
学习git版本控制工具的概念与命令
卷卷 · 2024-04-12 · via 卷卷

ssh密钥设置方法

windows

  • 打开命令提示符(CMD)或PowerShell。
  • 输入命令ssh-keygen。这个命令会启动密钥生成过程。默认情况下,它会生成一个RSA密钥对。
  • 系统会提示你输入密钥的保存位置。如果你直接回车,密钥将保存在用户主目录下的.ssh文件夹中。
  • 接下来,系统会提示你输入一个密码(passphrase)。这个密码用于保护你的私钥,增加安全性。如果你不想设置密码,直接回车即可,但这会使私钥在没有密码的情况下也能被使用,存在一定风险。
  • 生成完成后,你会在指定的路径看到两个文件。例如,在默认路径下,C:\Users\你的用户名\.ssh\id_rsa是私钥文件,C:\Users\你的用户名\.ssh\id_rsa.pub是公钥文件。

linux

  • 终端输入命令ssh-keygen
  • 系统会提示你输入密钥的保存位置。你可以直接回车使用默认路径。
  • 接下来,输入一个密码(passphrase)来保护你的私钥。如果你不想设置密码,直接回车即可,但同样存在安全风险。
  • 生成完成后,你可以在指定路径看到生成的密钥文件。例如,在默认路径下,~/.ssh/id_rsa是私钥文件,~/.ssh/id_rsa.pub是公钥文件。

登录GitHub并添加SSH密钥

  • 登录GitHub账户
  • 选择“Settings”(设置)。
  • 在左侧菜单栏中,点击“SSH and GPG keys”(SSH和GPG密钥)选项。
  • 点击“New SSH key”(新建SSH密钥)按钮。
  • 在“Title”(标题)输入框中,输入一个易于识别的名称来标识是哪个设备的。
  • 在“Key”(密钥)输入框中,粘贴之前复制的公钥****内容。确保公钥内容完整,不要遗漏任何字符。
  • 点击“Add SSH key”(添加SSH密钥)按钮,完成添加操作。
  • 终端 ssh -T [email protected]。这个命令会尝试通过SSH连接到GitHub服务器。如果连接成功,并且你的SSH密钥已经正确添加到GitHub

git相关概念

  1. 版本控制记录文件内容变化,以便查看和修改对应的版本的系统,
  2. 集中式版本控制工具(c/s模式):svn、cvs、vss,优点:权限控制、会单点故障(服务器坏…)
  3. 分布式版本控制工具:客户端本地有完整项目仓库,git、mercurial、bazaar、darcs
  4. Git发展历史:1991年linus手动合并-2002年bitkeeper授权社区使用-2005年linus用c开发git-两周后linux由git托管-2008linus上线托管jquery、ruby、php……
  5. 工作区:存放代码的位置。修改的内容没有历史记录。
  6. 暂存区:工作区的代码需要添加到暂存区零时存储。内容可被销毁。
  7. 本地库:提交到本地库的内容有了历史记录,内容不可销毁。
  8. 代码托管中心(远程库):局域网:gitlab、互联网:github、gitee

设置签名

  1. 设置签名:git config --global user.name username
  2. 设置签名邮箱:git config --global user.email [email protected]
  3. 签名信息存放在:C:\Users\xxx\ .gitconfig
  4. 签名的作用是区分不同的操作者,用户签名信息在每一个版本提交信息中可以看到,确认是谁的操作,git首次使用必须设置用户签名,否则无法提交代码。和远程仓库账号无关系。

初始化

  1. 初始化本地库:获取该文件的git管理权限,初始化管理信息:在该目录下使用git init
  2. 查看本地库状态:git status //on branch mast 当前项目在mast分支 no commits yet当前没有内容需要提交。
  3. 使用linux命令创建文件并编辑:vim hello.txt \ i(插入模式)hello(插入内容) \esc \:(命令模式)yy(复制)\p(粘贴)\:(命令模式)wq(保存退出)\ll/l查看\cat hello.txt(打开)

提交

  1. 提交到暂存区:git add . (.代表全部,也可以直接指定文件名.后缀)
  2. 查看git status
  3. 删除暂存区文件:git rm --cached hello.txt(只是删除暂存区,工作区还是存在的)
  4. **提交到本地仓库:**​git commit -m "备注/版本信息" hello.txt
  5. 查看版本信息:git reflog /git log
  6. 查看暂存区文件:git ls-files
  7. 版本回退 :git reset --hard 版本号
  8. 清空暂存区文件 git reset

分支

  1. 分支:在版本控制过程中,同时推进多个任务,我们可以为每个分支单独创建单独的分支,自己开发的时候不影响主干运行。
  2. 查看分支:git branch -v
  3. 创建分支:git branch hotfix(分支名字)
  4. 切换分支:git checkout hotfix
  5. 把其他分支合并到当前分支:git merge hotfix
  6. 冲突产生原因:当两个项目在同一文件,同一位置有两个不同的版本时,git无法替我们决定使用哪一个,必须人为决定内容。
  7. 合并冲突:git commit -m “merge_text”(不加名字)

推送

  1. 把代码推送到github:创建仓库/记下仓库http链接

  2. 创建别名:git remote add 别名 http://xxx

  3. 重设仓库:git remote set-url origin URL // 更换远程仓库地址,URL为新地址。

  4. 使用 git remote rm <仓库别名> 命令将指定的别名删除

  5. 查看别名:git remote -v

  6. 推送项目到分支:推送最小单位是分支,没有别名可用链接,git push 别名 master

  7. 克隆项目到本地:git clone xxx

  8. 拉取远程项目:git pull note master (note是设置过的别名)

  9. Pull request 将自己的分支推送到别的项目

  10. 本地生成.ssh密钥:ssh-keygen -t rsa -C email(三次回车)

  11. 在目录下会生成公钥和私钥:C:\Users\xxx\.ssh

  12. ignore文件:不能上传大于100MB文件,需要ignore

推送最小流程

git add . #提交到暂存区
git commit -a -m "09" #将代码同步到本地仓库
git push siyuan master #将本地master推送到远程siyuan 第二次以后可用 git push

新项目推送流程

确保项目文件没有超过100MB的

网页创建项目

git config --global user.name 'xxx'
git config --global user.email '[email protected]'

git init

网页端复制链接:[email protected]:xxx/xxx.git

git remote add 别名 "链接地址"

git remote -vv 可以看到添加的仓库信息

使用SSH密钥(有则忽略)

git pull 别名 master (本地没有项目,把远程的拉下来合并)

git add .

git status

git commit -m "备注"

git push -f 别名 master 第一次需要-f强制推送

ignore文件不起作用

  当我们用 git 时常常会习惯把我们不想上传到远程代码库中的一些本地文件(夹)放在一个叫做 .gitignore 的文件中,例如常见的本地 build 文件夹,一些 IDE 如Intellig、Eclipse的项目管理文件,比如下面一些配置

// 此为注释 – 将被 Git 忽略
*.a       // 忽略所有 .a 结尾的文件
!lib.a    // 但 lib.a 除外

/TODO     // 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO

node_modules
.project
.vscode

build/    // 忽略 build/ 目录下的所有文件
doc/*.txt    // 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt

  但有些时候我们会遇到这样的问题:放入gitignore文件夹中的文件却还是被 git index,当你通过 git status 显示文件状态时,他们并没有被忽略。

1、问题场景

  当你在git库中编写某些代码文件,并已经stage该文件之后,你发现某个文件你不想用了,想在以后的改变中忽略它。然后你再你的.gitignore文件中加入该文件名,结果它并没有被忽略。

  当你从远程代码库中 git clone 一份代码中本地并做些修改,build,然后通过 git add . 等 stage了这些改变,当你通过 git status 查看状态时发现不小心把build/文件夹给add进来了。于是你在.gitignore文件中加入了build/,但发现并不起作用。

2、根本原因

  .gitignore 文件只是 ignore 没有被 staged(cached) 文件,对于已经被 staged 的文件,加入 ignore 文件时一定要先从 staged 移除。

  因此,要想用 ignore 忽略文件,必须先把它们从staged中移除:commit你已有的改变,保存当前的工作。

  当文件夹是目录时,需要使用 -r 参数(递归)否则会报错

git rm -r --cached .
git add .
git commit -m "update .gitignore"  // windows使用的命令时,需要使用双引号