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

推荐订阅源

Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Application and Cybersecurity Blog
Application and Cybersecurity Blog
T
Threat Research - Cisco Blogs
Latest news
Latest news
Project Zero
Project Zero
TaoSecurity Blog
TaoSecurity Blog
Cyberwarzone
Cyberwarzone
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Google DeepMind News
Google DeepMind News
P
Privacy & Cybersecurity Law Blog
T
Troy Hunt's Blog
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
AWS News Blog
AWS News Blog
Hacker News: Ask HN
Hacker News: Ask HN
S
Security @ Cisco Blogs
C
Cisco Blogs
Help Net Security
Help Net Security
I
Intezer
W
WeLiveSecurity
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
腾讯CDC
S
Secure Thoughts
MyScale Blog
MyScale Blog
Recorded Future
Recorded Future
G
GRAHAM CLULEY
L
LINUX DO - 热门话题
A
About on SuperTechFans
C
CXSECURITY Database RSS Feed - CXSecurity.com
IT之家
IT之家
J
Java Code Geeks
The Hacker News
The Hacker News
阮一峰的网络日志
阮一峰的网络日志
Scott Helme
Scott Helme
Recent Announcements
Recent Announcements
AI
AI
Cisco Talos Blog
Cisco Talos Blog
B
Blog RSS Feed
V
Vulnerabilities – Threatpost
C
Check Point Blog
Security Latest
Security Latest
S
SegmentFault 最新的问题
T
The Exploit Database - CXSecurity.com
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
M
MIT News - Artificial intelligence
T
The Blog of Author Tim Ferriss
Attack and Defense Labs
Attack and Defense Labs
PCI Perspectives
PCI Perspectives
Recent Commits to openclaw:main
Recent Commits to openclaw:main
T
Tailwind CSS Blog
Apple Machine Learning Research
Apple Machine Learning Research

VnYzm的博客

游戏玩后感:ReLief:献给亲爱的你 我的周边(谷子)分享 游戏玩后感:Kanon 简谱:致真实的你 《Rust中常见的有关生命周期的误解》学习笔记 简谱:StarMap 简谱:かく咲きたらばいと恋ひめやも 简谱:东风 简谱:无法诉说的思念 简谱:Girlish 游戏玩后感:时钟机关的Layline 简谱:风之琶音 简谱:星空的记忆 简谱:因为遇见了你 简谱:月童 番茄简谱脚本转调器 游戏玩后感:青空下的约定:Refine 游戏玩后感:在这苍穹展翅 书籍读后感:控制论与科学方法论 游戏玩后感:恋爱表达式 游戏玩后感:樱之诗 MLIR-tutorial学习笔记 游戏玩后感:潜伏之赤途 游戏玩后感:纯爱咖啡厅:帕露菲重制版 游戏玩后感:智以泪聚 游戏玩后感:初雪樱 游戏玩后感:告别回忆:从今以后 游戏玩后感:梦灯花 游戏玩后感:金辉恋曲四重奏 游戏玩后感:五彩斑斓的世界 昇腾310P使用记录 游戏玩后感:AIR 游戏玩后感:弹丸论破 游戏玩后感:流景之海的艾佩莉亚 Xilinx_HLS上板过程记录 游戏玩后感:告别回忆2 游戏玩后感:恋爱绮谭 Faiss和Rapidsai_Raft使用记录 游戏玩后感:近月少女的礼仪 游戏玩后感:樱色之云,绯色之恋 游戏玩后感:幸运草的约定 游戏玩后感:星之梦、候鸟和丸子与银河龙 游戏玩后感:白色相簿2 Windows上使用VTune分析PyTorchExtension调用的Cpp程序 SpinalHDL上板过程记录 游戏玩后感:仰望夜空的星辰 最简单的算卦方法之一:梅花易数法 游戏玩后感:苍之彼方的四重奏 krkr引擎解包工具介绍 自定义CUDA实现PyTorch算子的四种简单方法 游戏玩后感:星空的记忆 游戏玩后感:9nine 游戏玩后感:AtriMyDearMoments 游戏玩后感:极限脱出 游戏玩后感:魔女的夜宴 SSH实现多跳代理 动漫观后感:向山进发 flv重封装H264、AAC流 动漫观后感:夏日重现 CSP模板 游戏玩后感:海沙风云 动漫观后感:灵能百分百 游戏玩后感:交响乐之雨 游戏玩后感:爱上火车LastRun 游戏玩后感:LittleBustersEX 游戏玩后感:SummerPockets 游戏玩后感:逆转裁判 Ultra96V2开发板简单使用 SpinalWorkshop实验笔记(三) SpinalWorkshop实验笔记(二) SpinalWorkshop实验笔记(一) PYNQ开发板上使用USB声卡+OSS兼容层播放音频 TestOS移植K210开发板 rCore-Tutorial-Book-v3学习笔记(七) 动漫观后感:凉宫春日的忧郁 rCore-Tutorial-Book-v3学习笔记(♭七) rCore-Tutorial-Book-v3学习笔记(六) rCore-Tutorial-Book-v3学习笔记(五) rCore-Tutorial-Book-v3学习笔记(四) rCore-Tutorial-Book-v3学习笔记(三) rCore-Tutorial-Book-v3学习笔记(二) rCore-Tutorial-Book-v3学习笔记(一) 游戏玩后感:RewritePlus MIT-6.S081-2020实验(xv6-riscv64)十一:net MIT-6.S081-2020实验(xv6-riscv64)十:mmap MIT-6.S081-2020实验(xv6-riscv64)九:fs MIT-6.S081-2020实验(xv6-riscv64)八:lock MIT-6.S081-2020实验(xv6-riscv64)七:thread MIT-6.S081-2020实验(xv6-riscv64)六:cow MIT-6.S081-2020实验(xv6-riscv64)五:lazy MIT-6.S081-2020实验(xv6-riscv64)四:traps MIT-6.S081-2020实验(xv6-riscv64)三:pgtbl MIT-6.S081-2020实验(xv6-riscv64)二:syscall 动漫观后感:吹响吧上低音号 MIT-6.S081-2020实验(xv6-riscv64)一:util 快速生成网络mp4视频缩略图技术 用plantuml画图示例 QQ缩略图和大图不同实现 Python制作字符图片 使用OpenCV对图片进行特征点检测和匹配
git基本操作
VnYzm · 2018-09-21 · via VnYzm的博客

在当前文件夹创建git目录

git init

添加当前文件夹的文件或确认文件修改(未保存)

git add 文件
git add . 

添加该文件夹所有文件

删除当前文件夹的文件(未保存)

git rm 文件

保存并说明

git commit -m "说明"

查看之前的更改

git log

添加密钥

ssh-keygen -t rsa -C "邮箱"

然后将.ssh文件夹里的id_rsa.pub文件内容复制粘贴到GitHub的设置里面

设置本地用户名和邮箱

git config user.name "用户名"
git config user.email "邮箱"

添加远程服务器

git remote add 服务器名字 https://github.com/用户名/Repository名

查看远程服务器列表

git remote -v

删除远程服务器

git remote rm 服务器名字

上传项目到服务器

git push 服务器名字 分支

从服务器下载项目的A分支到本地的B分支

git fetch 服务器名字 A:B

比较A、B两分支

git diff A B

新建/删除/跳转到分支

git branch 分支名
git branch -d 分支名
git checkout 分支名

查看当前的分支

git branch

将B合并到A分支

git merge B A

合并分为以下情况: * 若B是A之前的版本或A是B之前的版本,则合并无效 * 若B和A是同一版本衍生出的两个不同版本(比方说本地克隆了C,并把C改成了B,而网上的C经过PullRequest或其他人的push变成了A,然后把Afetch了下来),此时: * 若B和A修改的是不同文件,或同一文件的不同行,则merge会将两个修改合并(比方说C包括1.txt 2.txt 3.txt,A删除了3.txt变成1.txt 2.txt,B删除了2.txt变成1.txt 3.txt,则B合并到A后A只剩1.txt)。 * 若B和A修改的是同一文件的同一行(实际情况可能不限于这个,反正就是改乱了),merge会失败,并将B和A冲突的文件的内容加上冲突提示标记,你需要手动将这个文件改成你预期的解决冲突后的样子。

取消git在Windows下自动把克隆代码的换行符改成DOS格式

git config --global core.autocrlf input

git 克隆子项目

git submodule update --init

后加--recursive表示递归克隆,后加子项目名表示只克隆对应子项目

删除克隆缓存:


实际工作中常用的命令(2025年10月更新)

以上是学生时代用过的命令,现在介绍工作中比较常用的命令:修改完代码后,首先查看一下修改了那些地方:

会显示发生了什么变更,一般来说,对于修改的文件,会放到“未提交的变更”一栏,对于新增的文件,会放到“未跟踪的文件”一栏。

然后就是传统的 git add,由于.gitignore里不一定包含了所有需要忽略的文件,所以一般不会用git add .,而是根据git status显示的结果,用git add 文件添加需要的文件。这时候再查看git status,就会发现需要提交的文件已经变成绿色了。

然后就是 git commit -m "说明",不再赘述。这个时候,如果想把没用的修改全部取消,可以用

然后一般需要拉取一下服务器代码,防止别人提交了会和你产生冲突的代码,导致提交不上服务器。拉取要么在git commit之后执行,要么在所有修改之前执行,不然会提示变更未保存,无法拉取。拉取的命令是:

--rebase保证你的变更是放在 commit 记录的最顶上,防止代码评审时发生混乱。拉取的时候如果没发生冲突,那就无所谓,直接git push即可。如果发生冲突,就需要提示出现了冲突。用git status可以查看冲突的文件。打开冲突文件,搜索<<<<<<<,就可以看到冲突的地方。一般来说,冲突的地方会有两行=======,上面是本地的修改,下面是服务器的修改。

把冲突标记全部删掉,将代码改成合并以后的样子,执行

冲突就解决了,然后再git addgit commit,就可以直接 git push 提交。

另外,git commit完如果又作了修改,就先git add然后再

这样会打开一个文件,提示你修改提交说明,如果不需要修改直接退出即可。

补充:git pull除了拉取当前分支的代码,还会拉取其他分支的元信息。假设当前分支是 A 分支,本地仓库还有 B 分支,比远程仓库的 B 分支慢一个 commit:

  1. 一开始本地仓库不知道远程仓库的情况,切换到 B 分支会显示 B 分支为“最新”。
  2. 在 A 分支下执行 git pull后,A 分支的代码会和远程仓库同步,B 分支不会。但在切换到 B 分支的时候会显示 B 分支“落后 1”。
  3. 在 B 分支下执行git pull后,B 分支的代码会和远程仓库同步。

回退到上一个 commit,并且当前 commit 的全部更改消失。HEAD~1可以换成 commit 号,表示回退到对应 commit。

回退到上一个 commit,当前 commit 的全部更改保留在工作区(执行git status的时候显示为绿色)。HEAD~1可以换成 commit 号,表示回退到对应 commit。

将其他分支的 commit 单独挑到当前分支。

git checkout -b 分支名 远程分支名(例如 origin/master)

创建并切换分支,同时设置该分支跟踪某个远程分支。

切换分支。

创建分支时忘了指定远程分支名时用这个,设置当前分支跟踪某个远程分支。

git branch -vv

查看分支状态。