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

推荐订阅源

D
Docker
Microsoft Azure Blog
Microsoft Azure Blog
云风的 BLOG
云风的 BLOG
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
L
LangChain Blog
P
Privacy & Cybersecurity Law Blog
Hugging Face - Blog
Hugging Face - Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
大猫的无限游戏
大猫的无限游戏
Cyberwarzone
Cyberwarzone
The Register - Security
The Register - Security
Stack Overflow Blog
Stack Overflow Blog
A
Arctic Wolf
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
T
Threatpost
The GitHub Blog
The GitHub Blog
P
Privacy International News Feed
WordPress大学
WordPress大学
U
Unit 42
S
Securelist
T
The Exploit Database - CXSecurity.com
C
Cyber Attacks, Cyber Crime and Cyber Security
P
Proofpoint News Feed
Latest news
Latest news
Hacker News: Ask HN
Hacker News: Ask HN
小众软件
小众软件
Know Your Adversary
Know Your Adversary
The Cloudflare Blog
V
Vulnerabilities – Threatpost
The Hacker News
The Hacker News
Scott Helme
Scott Helme
有赞技术团队
有赞技术团队
Security Latest
Security Latest
Google DeepMind News
Google DeepMind News
Application and Cybersecurity Blog
Application and Cybersecurity Blog
Simon Willison's Weblog
Simon Willison's Weblog
博客园 - Franky
Y
Y Combinator Blog
博客园 - 叶小钗
Security Archives - TechRepublic
Security Archives - TechRepublic
Google DeepMind News
Google DeepMind News
N
Netflix TechBlog - Medium
S
Secure Thoughts
T
Threat Research - Cisco Blogs
aimingoo的专栏
aimingoo的专栏
S
SegmentFault 最新的问题
Microsoft Security Blog
Microsoft Security Blog
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
博客园 - 司徒正美
M
MIT News - Artificial intelligence

博客 on 打工人日志

k8s RKE2 cilium L2 + envoy gateway 安装配置 k8s RKE2 vSphere 存储配置 OpenClaw 全能指南:从安装到进阶自动化实战 (2026 最终版) Kubernetes — skywalking + banyanDB APM监控部署 Kubernetes — promtail + loki + grafana 日志系统部署 k8s master 节点 Unauthorized Kubernetes — metalLB + Traefik 部署 Kubernetes — SSL 证书自动更新 Kubernetes — RKE2 + kube-vip + cilium 部署 使用TLSv1.3 升级nginx和openssl Proxmox VE(PVE) 更新到最新版本 kindle 邮件发送失败,错误代码E999 metallb + ingress-nginx + argocd 本地部署 iStoreOS(旁路由)使用openclash实现dns劫持 异常流量分析:图片库服务黑客入侵 openwrt 硬盘扩容 搭建ip地址检索服务 Kubernetes — k8s 手动安装 1.17.9 SELinux 问题:导致端口无法创建,无法访问 【福利】免费!本地部署!去除视频中移动的物体 通知:《打工人日报》迁移到独立板块 KyBook 3 | calibre-web - IOS系统最佳图书伴侣 Tmux 安装和使用教程 DockerHub 加速镜像部署 - 使用cloudflare 代理 docker的零停机部署 SD-webui 批量处理图片 ubuntu 安装 ComfyUI ubuntu 安装 stable-diffusion-webui 测试策略:微服务架构 单元测试:测试单元质量提升 端到端测试:模拟用户体验 Kubernetes — containerd 安装和部署 CI/CD 可观察性-基于grafana Argo cd 安装和部署 linux服务器进程打开文件过多导致服务异常 使用 ElasticSearch Curator 7天定期删除日志 sonarqube docker安装和配置 SSH 通过 443 端口连接 GitHub iOS 17 「待机显示」适配普通 iPhone(非 Pro/Max),屏幕在充电时常亮 GNU/Linux 一键更换系统软件源脚本 解决Elasticsearch索引只读(read-only) 【福利】埃隆·马斯克传 [沃尔特·艾萨克森] 在线下载 【破解】小鹏P5和小鹏G9开启adb和网络adb Kubernetes — kubecost 分析 Kubernetes 成本 3D Gaussian Splatting:3D模型渲染 Linux 系统收包流程以及内核参数优化 2023亚运会电竞门票民购买指南(报名+抽签) Vue3 + vite + nginx项目部署后404问题 大麦抢票辅助软件(福利 TFBOYS十年之约演唱会 2023 全机位 视频) 黑群晖最新安装教程 Ansible部署ceph集群 最好的微信朋友圈集赞神器-福利推荐 推荐一下 容器云资源 2010年的天涯神贴聊房价 如何礼貌回绝不合理的需求 nginx 配置和编译 github 国内代理访问下载 使用scrapy-redis实现增量爬取 逆境和成长-2022年终总结 优雅的使用Conda管理python环境 Jenkins 编译Android apk 流水线 Kubernetes — 更新证书 shell功能脚本集合 Nexus3 使用和部署 githubAction set-output弃用错误 Kubernetes — Rook云存储介绍和部署 Kubernetes — 基于K8S搭建Ceph分布式存储 Kubernetes — 探针和生命周期 Kubernetes — 开放标准(OCI、CRI、CNI、CSI、SMI、CPI)概述 kubernetes 部署插件 (Flannel、Web UI、CoreDNS、Ingress Controller) Cloudflare Zero Trust 内网穿透 k8s CNI 问题 连接认证失效 k8s.gcr.io国内无法连接解决方法 headscale 部署使用 羊了个羊小程序 破解通关 K8S 问题排查:cgroup 内存泄露问题 RocketMQ k8s部署 4主4从集群 docker 问题处理 kubernetes 存储 linux服务器 删除空间却未释放 kubernetes 从1.23.x 升级到 1.24.x 编写 kubernetes 资源描述文件 nginx ssh-key connection exception kubernetes manual expansion VSCode插件推荐=> Code Runner ant build.xml 编写 kubernetes 调度过程 记录一次上门打散工 k8s本地联调神器kt-connect Ant中如何添加第三方jar包依赖 OpenELB:让k8s私有环境对外暴露端口 linux 网络测速 安装 docker 出现 ERROR: Unsupported distribution 'ol' 问题 logrotate 日志滚动的使用 nginx 编译参数详解 nginx 重写规则 rewrite模块 nginx.conf 配置文件详解 rsync 文件同步 163企业邮箱设置教程 2021年第50周记
git使用方法
2022-02-17 · via 博客 on 打工人日志

git 使用方法

一、git 安装配置

  1. Debian/Ubuntu
1    apt-get install libcurl4-gnutls-dev libexpat1-dev gettext \
2    libz-dev libssl-dev
3
4    apt-get install git
5
6    git --version
7    git version 1.8.1.2
  1. Centos/RedHat
1    yum install curl-devel expat-devel gettext-devel \
2    openssl-devel zlib-devel
3
4    yum -y install git-core
5
6    git --version
7    git version 1.7.1

二、git 拉取异常如何重新拉取

1.同一文件有修改,产生冲突。

  1. 先将本地修改存储起来 使用git stash命令,这样本地的所有修改就都被暂时存储起来 。其中stash@{0}就是刚才保存的标记。后续可以通过此标记访问。
  2. 再次拉取代码
  1. 还原暂存的内容
  1. 解决冲突 在存在冲突的文件中,Updated upstream=====之间的内容为拉取下来的代码,=====stashed changes之间的内容就为本地修改的代码。解决完成之后,就可以正常的提交了。 5.删除stash 使用git stash drop stash@{0}命令,如果不加stash编号,默认的就是删除最新的,即编号为 0 的。或者git stash clear命令,清除所有stash

2.想要让某一个文件放弃修改,同步服务器。

1git checkout [本地变动文件的路径]

3.服务器代码完全替换和覆盖本地的代码改动。

1git fetch --all
2git reset --hard origin/master
3git pull

三、git 命令表格

专用名词含义
Workspace工作区
Index/Stage暂存区
Repository仓库区(或本地仓库)
Remote远程仓库

git

1.新建代码仓库

1# 在当前目录新建一个Git代码库
2$ git init
3
4# 新建一个目录,将其初始化为Git代码库
5$ git init [project-name]
6
7# 下载一个项目和它的整个代码历史
8$ git clone [url]

2.配置

Git 的设置文件为.gitconfig,它可以在用户主目录下(全局配置),也可以在项目目录下(项目配置)。

1# 显示当前的Git配置
2$ git config --list
3
4# 编辑Git配置文件
5$ git config -e [--global]
6
7# 设置提交代码时的用户信息
8$ git config [--global] user.name "[name]"
9$ git config [--global] user.email "[email address]"

3.增加/删除文件

 1# 添加指定文件到暂存区
 2$ git add [file1] [file2] ...
 3
 4# 添加指定目录到暂存区,包括子目录
 5$ git add [dir]
 6
 7# 添加当前目录的所有文件到暂存区
 8$ git add .
 9
10# 添加每个变化前,都会要求确认
11# 对于同一个文件的多处变化,可以实现分次提交
12$ git add -p
13
14# 删除工作区文件,并且将这次删除放入暂存区
15$ git rm [file1] [file2] ...
16
17# 停止追踪指定文件,但该文件会保留在工作区
18$ git rm --cached [file]
19
20# 改名文件,并且将这个改名放入暂存区
21$ git mv [file-original] [file-renamed]

4.代码提交

 1# 提交暂存区到仓库区
 2$ git commit -m [message]
 3
 4# 提交暂存区的指定文件到仓库区
 5$ git commit [file1] [file2] ... -m [message]
 6
 7# 提交工作区自上次commit之后的变化,直接到仓库区
 8$ git commit -a
 9
10# 提交时显示所有diff信息
11$ git commit -v
12
13# 使用一次新的commit,替代上一次提交
14# 如果代码没有任何新变化,则用来改写上一次commit的提交信息
15$ git commit --amend -m [message]
16
17# 重做上一次commit,并包括指定文件的新变化
18$ git commit --amend [file1] [file2] ...

5.分支

 1# 列出所有本地分支
 2$ git branch
 3
 4# 列出所有远程分支
 5$ git branch -r
 6
 7# 列出所有本地分支和远程分支
 8$ git branch -a
 9
10# 新建一个分支,但依然停留在当前分支
11$ git branch [branch-name]
12
13# 新建一个分支,并切换到该分支
14$ git checkout -b [branch]
15
16# 新建一个分支,指向指定commit
17$ git branch [branch] [commit]
18
19# 新建一个分支,与指定的远程分支建立追踪关系
20$ git branch --track [branch] [remote-branch]
21
22# 切换到指定分支,并更新工作区
23$ git checkout [branch-name]
24
25# 切换到上一个分支
26$ git checkout -
27
28# 建立追踪关系,在现有分支与指定的远程分支之间
29$ git branch --set-upstream [branch] [remote-branch]
30
31# 合并指定分支到当前分支
32$ git merge [branch]
33
34# 选择一个commit,合并进当前分支
35$ git cherry-pick [commit]
36
37# 删除分支
38$ git branch -d [branch-name]
39
40# 删除远程分支
41$ git push origin --delete [branch-name]
42$ git branch -dr [remote/branch]

6.标签

 1# 列出所有tag
 2$ git tag
 3
 4# 新建一个tag在当前commit
 5$ git tag [tag]
 6
 7# 新建一个tag在指定commit
 8$ git tag [tag] [commit]
 9
10# 删除本地tag
11$ git tag -d [tag]
12
13# 删除远程tag
14$ git push origin :refs/tags/[tagName]
15
16# 查看tag信息
17$ git show [tag]
18
19# 提交指定tag
20$ git push [remote] [tag]
21
22# 提交所有tag
23$ git push [remote] --tags
24
25# 新建一个分支,指向某个tag
26$ git checkout -b [branch] [tag]

7.查看信息

 1# 显示有变更的文件
 2$ git status
 3
 4# 显示当前分支的版本历史
 5$ git log
 6
 7# 显示commit历史,以及每次commit发生变更的文件
 8$ git log --stat
 9
10# 搜索提交历史,根据关键词
11$ git log -S [keyword]
12
13# 显示某个commit之后的所有变动,每个commit占据一行
14$ git log [tag] HEAD --pretty=format:%s
15
16# 显示某个commit之后的所有变动,其"提交说明"必须符合搜索条件
17$ git log [tag] HEAD --grep feature
18
19# 显示某个文件的版本历史,包括文件改名
20$ git log --follow [file]
21$ git whatchanged [file]
22
23# 显示指定文件相关的每一次diff
24$ git log -p [file]
25
26# 显示过去5次提交
27$ git log -5 --pretty --oneline
28
29# 显示所有提交过的用户,按提交次数排序
30$ git shortlog -sn
31
32# 显示指定文件是什么人在什么时间修改过
33$ git blame [file]
34
35# 显示暂存区和工作区的差异
36$ git diff
37
38# 显示暂存区和上一个commit的差异
39$ git diff --cached [file]
40
41# 显示工作区与当前分支最新commit之间的差异
42$ git diff HEAD
43
44# 显示两次提交之间的差异
45$ git diff [first-branch]...[second-branch]
46
47# 显示今天你写了多少行代码
48$ git diff --shortstat "@{0 day ago}"
49
50# 显示某次提交的元数据和内容变化
51$ git show [commit]
52
53# 显示某次提交发生变化的文件
54$ git show --name-only [commit]
55
56# 显示某次提交时,某个文件的内容
57$ git show [commit]:[filename]
58
59# 显示当前分支的最近几次提交
60$ git reflog

远程同步

 1# 下载远程仓库的所有变动
 2$ git fetch [remote]
 3
 4# 显示所有远程仓库
 5$ git remote -v
 6
 7# 显示某个远程仓库的信息
 8$ git remote show [remote]
 9
10# 增加一个新的远程仓库,并命名
11$ git remote add [shortname] [url]
12
13# 取回远程仓库的变化,并与本地分支合并
14$ git pull [remote] [branch]
15
16# 上传本地指定分支到远程仓库
17$ git push [remote] [branch]
18
19# 强行推送当前分支到远程仓库,即使有冲突
20$ git push [remote] --force
21
22# 推送所有分支到远程仓库
23$ git push [remote] --all

撤销

 1
 2# 恢复暂存区的指定文件到工作区
 3$ git checkout [file]
 4
 5# 恢复某个commit的指定文件到暂存区和工作区
 6$ git checkout [commit] [file]
 7
 8# 恢复暂存区的所有文件到工作区
 9$ git checkout .
10
11# 重置暂存区的指定文件,与上一次commit保持一致,但工作区不变
12$ git reset [file]
13
14# 重置暂存区与工作区,与上一次commit保持一致
15$ git reset --hard
16
17# 重置当前分支的指针为指定commit,同时重置暂存区,但工作区不变
18$ git reset [commit]
19
20# 重置当前分支的HEAD为指定commit,同时重置暂存区和工作区,与指定commit一致
21$ git reset --hard [commit]
22
23# 重置当前HEAD为指定commit,但保持暂存区和工作区不变
24$ git reset --keep [commit]
25
26# 新建一个commit,用来撤销指定commit
27# 后者的所有变化都将被前者抵消,并且应用到当前分支
28$ git revert [commit]
29
30# 暂时将未提交的变化移除,稍后再移入
31$ git stash
32$ git stash pop

其他

1# 生成一个可供发布的压缩包
2$ git archive