基于 VScode 的 git 详细使用指南【保姆级!建议收藏!】_vscode使用git需要电脑安装git吗
2. 往往我们需要看到最原始的版本,才能方便我们确定合并时,哪些是我们要的,哪些是不要的。界面可以看见所有历史版本信息,左侧有版本名称即为你添加的注释(可以相同)和上传时间,右侧有版本的hash码(不同),是版本的唯一标识符。会移动HEAD指针,并重置暂存区和工作区为指定提交的内容,这意味着你可以 **完全丢弃某个提交及其后续的所有修改 **。只会移动HEAD指针,不会修改暂存区和工作区的内容,这
先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。




既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上运维知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
如果你需要这些资料,可以添加V获取:vip1024b (备注运维)
正文

3. 点击顶端 view history 按钮,即可看见所有上传的版本(没有可以去扩展安装Git History)。

4. 在Git History界面可以看见所有历史版本信息,左侧有版本名称即为你添加的注释(可以相同)和上传时间,右侧有版本的hash码(不同),是版本的唯一标识符。

5. 点击版本,可以看到该版本相比上一版本进行了哪些操作。可以看到test7版本,相比于test6版本,添加了test_02.txt、删除了text_03.h,修改了test.c。

* 点击 `view`,可以看到该版本的该文件的内容。

* 点击 `Workspace`,可以看到该版本与 **当前工作空间内容** 的对比。

* 点击 `Previous` ,可以看到该版本与 **上一版本文件内容** 的对比。

* 点击 `History` ,可以看到该文件 所有被修改的历史版本。

2.5 版本对比
当点击右侧时间线,可以对比提交的版本与当前版本的区别。左侧为对比的版本,右侧为当前版本,红色为当前版本删除的部分,绿色为当前版本添加的部分。

2.6 版本回退
版本回退分为 硬回退(Hard reset) 和 软回退(Soft reset) 。它们的区别在于它们对工作区、暂存区和版本库的影响不同。
| 模式 | HEAD | 暂存区 | 工作区 |
|---|---|---|---|
| Soft | 移动到指定提交 | 不变 | 不变 |
| Hard | 移动到指定提交 | 重置为指定提交 | 重置为指定提交 |
- 软回退(Soft reset)
软回退模式 只会移动HEAD指针,不会修改暂存区和工作区的内容,这意味着你可以 **撤销最近的提交并保留你的修改 **。
在Git History页面中,点击要回退的版本的右侧的 Soft 按钮,进行版本回退。

提示框提示 “所有受影响的文件将被合并并保存在本地工作区中” ,选择 OK ,确定回退。

此时,版本回退到了你选择的版本,但是本地文件仍为回退前的版本。

2. 硬回退(Hard reset)
硬回退模式 会移动HEAD指针,并重置暂存区和工作区为指定提交的内容,这意味着你可以 **完全丢弃某个提交及其后续的所有修改 **。
在 Git History 页面中,点击要回退的版本的右侧的 Hard 按钮,进行版本回退。

提示框提示"这对您当前的工作集是不可逆的。未提交的本地文件将被删除",选择 OK ,确定回退。

此时,版本回退到你选择的版本,并且你的本地文件也回退到选择的版本。

硬回退不可逆,建议确定好要回退版本再使用。
2.7 版本分支
- 点击右侧
Branch按钮,创建分支。

2. 在提升框中写分支的名字,点击 OK ,创建分支。

3. 创建完成后,看见右侧绿色 test6_1 ,代表当前分组位置,main 代表主分支位置。

4. 点击新创建的 test6_1 分支,在弹出的提示窗选择 OK 切换到新的分支(前提是当前文件未做修改)。

也可以在 VScode 左下角进行分支转换,点击 main ,选择你要切换的分支,进行切换。

5. 顶部弹出弹窗,点击要切换的分支,进行分支切换。

6. 与在主分支提交相同,在其他分支也是再消息栏填写版本内容后提交。

7. 分支合并:
切换到主分支,点击 源代码管理 的右上角三个点,选择分支-合并。

在顶部选择你要合并的分支。

分支合并成功,文件会有冲突存在,此时需要对有冲突文件进行编辑。

合并更改有三种方式:
* 采用当前更改:保留你所在的分支的修改,忽略另一个分支的修改。
* 采用传入的更改:保留另一个分支的修改,忽略你所在的分支的修改。
* 保留双方更改:同时保留两个分支的修改,让你自己再次编辑文件,选择最终的修改。
2.8 版本合并
版本合并一直都是很困难的,需要一步一步来查看版本的区别,选择合适的合并方式。
- 可以在 合并编辑器 中查看 当前 文件内容、传入 文件内容,以及合并后的 结果 。

2. 往往我们需要看到最原始的版本,才能方便我们确定合并时,哪些是我们要的,哪些是不要的。在合并编辑器中,可以点击右上角的三个点,选择显示基顶部。

3. 此时,我们得到了 基础 版本,与之前三个版本同框的情况,方便确定合并内容。

可以选择 接受当前 ,接受传入,或者不做更改,最后选择完成合并。
4. 当你不想进行合并时,在顶部输入>Git: Abort Merge ,选择取消合并。

3 git 远程代码控制
上面介绍了 git 在本地的使用,下面介绍结合 github 的 git 的远程控制。
3.1 创建远程仓库
- 打开 github.com ,点击
Sign in登陆你的账号,没有的话点击Sign up注册一下即可。

- 登陆后,点击
New新建一个项目,这个项目就是你上传本地项目的位置。

3. 填写仓库名称后,点击 Create repository 创建项目。
其中仓库名称是必须填写的,其他部分可以保持默认,其含义如下。
* `Repository name` : 仓库名称(输入名字,最好不要使用中文)
* `Description` (可选) : 仓库描述介绍,可以不填
* `Public, Private` : 仓库权限,`Public` 表示仓库内容对所有人可见,`Private` 可选指定用户可见。
* `Add a README file` : 添加一个README.md,用于介绍仓库内容。
* `Add .gitignore` : 不需要进行版本管理的仓库类型,对应生成文件.gitignore
* `Cho0se a license` : 选择证书类型,对应生成文件LICENSE
- 创建成功以后,界面如下,复制下面的地址备用。

3.2 创建SSH通道
创建SSH通道,使得远程仓库认识你的本地计算机。
- 在 VScode 中,按下快捷键
Ctrl+J打开底部终端,添加git bash,输入以下命令生成SSH密钥。

ssh-keygen -t rsa -C "登录邮箱"
其中 登录邮箱 换成最初设置的全局邮箱。
2. 输入命令后,一直回车即可,生成密钥。

3. 在 ssh-agent 上注册你的 SSH 密钥
为了使用这些密钥,我们必须在我们机器上的 ssh-agent 上注册它们。我们需要在 git bash 输入以下命令。
# 运行 ssh-agent
eval "$(ssh-agent -s)"
# 注册 SSH 密钥
ssh-add ~/.ssh/id_rsa
# 查看本机密钥
ssh-add -l

如上图显示即为注册成功。
4. 找到以上密钥所在位置,用记事本打开 id_rsa.pub 文件,内容应为ssh-rsa 开头,你的邮箱结尾的字符串,复制这段字符串。


5. 打开 github ,点击右侧顶部头像,打卡侧边栏,点击 setting 打开设置界面,点击左侧 SSH and GPGG keys 。

6. 点击 New SSH Key ,将刚才的密钥复制到 Key 中,Title 中输入表示你这台设备的名称,点击 Add SSH Key 完成 SSH key 的添加。


3.3 上传文件到github
- 然后让你的本地仓库链接远程仓库,在VScode中的 源代码管理 面板中,按下图顺序点击,添加远程存储库。

2. 在顶部弹出的窗口中,粘贴刚才复制的仓库地址。

3. 填写远程存储仓库名称,方便本地引用远程仓库。

4. 之后便可在源代码管理界面,点击推送,推送你的本地仓库文件到远程仓库。

5. 第一次推送时,会提示“分支"main"没有远程分支。是否要发布此分支?”,点击确定即可。

在网络通畅的情况下,转圈结束后上传完成,可以在github上看到上传的文件。

3.4 从 github 下载项目
- 在github上,点击
code,复制想要下载的项目的链接。

2. 在你想下载的文件夹下,右键打开git bash,通过git clone命令,将文件拷贝到本地。
git clone git@github.com:xxx/test.git

3. 出现以上命令即为下载成功。
3.5 对链接github的本地项目pull/push
-
将修改后的文件推送到github
- 首先跟本地版本控制一样,将修改的文件提交。

- 点击 源代码管理 右上角三个点,点击推送,将修改的文件上传到github。

当你确定只有要推送的文件,没有要拉取的文件时,也可以直接按同步更改。
-
将云端项目拉取到本地
点击 源代码管理 右上角三个点,点击拉取,将github上文件拉取到本地。

当你确定只有要拉取的文件,没有要推送的文件时,也可以直接按同步更改。
4 git 其他使用问题
4.1 用 SSH 密钥在一台机器上管理多个 GitHub 账户
如何用 SSH 密钥在一台机器上管理多个 GitHub 账户 (freecodecamp.org)
如何在同一台电脑上同时使用多个Git账号? - 知乎 (zhihu.com)
- 生成多个 SSH 密钥
在 C:\Users\Administrator\.ssh 文件夹中打开 gitbash,生成两个 SHH 密钥,分别作用于我的两个github账号。
ssh-keygen -t rsa -C "one@gmail.com" -f "id\_rsa\_one"
ssh-keygen -t rsa -C "two@gmail.com" -f "id\_rsa\_two"
其中邮箱对应两个github账号注册时的邮箱。
2. 将两个密钥加入到对应的github账户
3. 编辑配置文件
编辑 ~/.ssh/config 文件,没有就建一个,Host 名称可以根据你的需求更改。
# one
Host github_one
Hostname ssh.github.com
IdentityFile ~/.ssh/id_rsa_one
port 22
# two
Host github_two
Hostname ssh.github.com
IdentityFile ~/.ssh/id_rsa_two
port 22
修改之后,在 git bash 中运行以下命令,检查是否连接正常。
ssh -T git@github_one
ssh -T git@github_two
如果都能正常返回如下信息,就说明配置正常。
Hi xxx! You've successfully authenticated, but GitHub does not provide shell access.
同样的方式你就可以配置更多的以SSH登录的不同git用户。
4. 配置仓库设置
全局设置可以作为你默认上传的账号,在需要用其他账号时,需要重新配置 user.name 和 user.email 。
# 添加本地设置
# 设置为私有仓库的GitHub账号邮箱和公有账号的GitHub邮箱。
git config --local user.name xxxx
git config --local user.email xxx
-
上传文件
- 添加远程仓库
未创建远程仓库时,采用
git remote add添加远程仓库,origin可替换仓库的名称。# 远程仓库不存在 git remote add origin git@github_two:xxx/example.git # 远程仓库已存在 git remote add test git@github_two:xxx/test.git error: remote test already exists.- 上传至远程仓库
先用以下命令更新 test 远程仓库的 URL,以便您可以使用新的地址进行推送或拉取操作。
git remote set-url test git@github_two:two/test.git然后在VScode中推送文件即可。
4.2 github上传大文件
在向github上传大文件往往会导致卡住上传不了,这是因为github有一个限制,不能上传超过100MB的文件。但是可以通过 Git LFS 上传大文件到github上。
**Git LFS(LargeFileStorage)**工具来管理大文件。Git LFS是一个Git扩展工具,它可以将大文件存储在Git仓库之外,并在仓库中保留文件的引用。
- 安装
Git LFS
git lfs install
- 初始化
Git LFS
git lfs install
- 跟踪大文件
git lfs track "\data\large\_file.zip"
追踪要上传的大文件路径,这会生成一个文件.gitattributes 存储追踪大文件的信息。

4. 推送大文件
和推送普通文件相同,在VScode中提交并推送。

最全的Linux教程,Linux从入门到精通
======================
-
linux从入门到精通(第2版)
-
Linux系统移植
-
Linux驱动开发入门与实战
-
LINUX 系统移植 第2版
-
Linux开源网络全栈详解 从DPDK到OpenFlow

第一份《Linux从入门到精通》466页
====================
内容简介
====
本书是获得了很多读者好评的Linux经典畅销书**《Linux从入门到精通》的第2版**。本书第1版出版后曾经多次印刷,并被51CTO读书频道评为“最受读者喜爱的原创IT技术图书奖”。本书第﹖版以最新的Ubuntu 12.04为版本,循序渐进地向读者介绍了Linux 的基础应用、系统管理、网络应用、娱乐和办公、程序开发、服务器配置、系统安全等。本书附带1张光盘,内容为本书配套多媒体教学视频。另外,本书还为读者提供了大量的Linux学习资料和Ubuntu安装镜像文件,供读者免费下载。

本书适合广大Linux初中级用户、开源软件爱好者和大专院校的学生阅读,同时也非常适合准备从事Linux平台开发的各类人员。
需要《Linux入门到精通》、《linux系统移植》、《Linux驱动开发入门实战》、《Linux开源网络全栈》电子书籍及教程的工程师朋友们劳烦您转发+评论
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注运维)
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
撰写3000页Linux学习笔记教程](https://i-blog.csdnimg.cn/blog_migrate/c34b503f3271f358bf4e505ee0f59484.jpeg)
本书适合广大Linux初中级用户、开源软件爱好者和大专院校的学生阅读,同时也非常适合准备从事Linux平台开发的各类人员。
需要《Linux入门到精通》、《linux系统移植》、《Linux驱动开发入门实战》、《Linux开源网络全栈》电子书籍及教程的工程师朋友们劳烦您转发+评论
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注运维)
[外链图片转存中…(img-wve6ZL1M-1713231514615)]
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐

所有评论(0)