Git安装以及VScode上的简单使用
Git是一个分布式版本控制系统,以有效、高速地处理从小到大的项目版本管理。
以下是Git的一些核心特点和功能:
-
分布式架构:Git给予每个开发者一份完整的代码库副本,包括完整的历史记录,这使得在本地进行大多数操作(如查看历史记录、分支、合并等)变得非常快速。
-
数据完整性:Git通过SHA-1哈希算法保护代码和历史记录,确保代码的完整性和安全性。
-
分支和合并:Git支持快速创建和切换分支,合并分支也非常简单,这极大地方便了并行开发和代码审查。
-
离线操作:由于Git是分布式的,大部分操作都可以在本地完成,不需要网络连接。
-
灵活的工作流程:Git支持多种工作流程,如集中式工作流、功能分支工作流、Gitflow工作流等。
-
支持非线性开发:Git允许开发者进行复杂的非线性开发,例如通过rebase和 cherry-pick 来重组提交历史。
-
社区和工具支持:Git拥有庞大的社区和丰富的工具支持,包括图形用户界面(GUI)客户端和集成开发环境(IDE)插件。
-
远程仓库:Git允许你管理远程仓库,方便团队协作和代码共享。
-
钩子(Hooks):Git提供了多种钩子,允许在特定事件发生时自动运行脚本,如提交前、提交后、推送前等。
-
轻量级和高性能:Git设计轻量级,执行速度快,特别适合处理大型项目。
安装与下载
Git download:Git - Downloads (git-scm.com)
windows系统当中,单击鼠标右键,点击git bash即可弹出命令框。
git -v 查看git的版本号
git -v
首先使用git config命令配置一下用户名和邮箱
git config --global user.name
git config --global user.email
其中–global表示全局配置,对所有仓库生效
利用git config --global credential.helper store
命令来保存用户名和密码,可以使用git config --global --list
查看配置信息。
配置完之后就可以用git来管理我们的代码了
SSH
生成密钥在终端输入:
ssh-keygen -t rsa -b 4096 -C 'beishanla'
通过命令会生成密钥(公钥和私钥),可通过Ctrl点击路径即可查看公钥public key
公钥需要放到gitee、github、gitlab等代码管理平台上,本地电脑可通过私钥
进行一一对应,访问私人仓库。
以gitee为例,在设置中
新建仓库
版本库即Repository,这个目录里所有的文件由Git管理起来,创建仓库的方式主要有如下两种方式:
1. 电脑本地直接创建 git init
1. 从远程服务器克隆已经存在的仓库git clone
这边主要介绍一下方式二,也是用到最多的方式git clone。
以gitee为例,点击克隆\下载即可:
点击复制,粘贴到需要保存到的文件夹的终端即可开始下载。
注意,若是庞大的代码库,直接git clone可能需要下载十几个G,这时可以指定代码深度,在git clone + 地址 +
--depth 10
,即下载最新的十次提交
Vscode与Git
在Vscode当中,可以点击左下角,进行分支切换.
可以看到有许多的远程分支以及自己的本地分支。直接点击远程分支,即可完成切换。
推荐下载插件git graph
和GitLens
,可以更方便管理Git。
利用git graph可以清晰的查看谁提交和修改了代码,以及新旧的代码情况
利用命令,创建一个新的分支,这样在新分支进行修改,不会影响主分支的进程
git checkout -b beishan/9013_test
可以利用一个主分支来维护,小分支来修改细节
对于更改的代码提交与撤回,可以在Vscode上点击进行,也可以使用git命令
可以将更改的代码选择“暂存更改”,对于合并一个.py文件的修改➕即可(git add),点击可以在消息框当中,说明自己的修改情况,例如:[test] (修改说明),后点击提交即可(git commit)。
点击插件Git Graph即可查看修改情况。
git add xx.py
git commit -m “注释”
利用git push
或在VScode当中直接点击发布Branch,即可将分支发布到远端。
Git的常用命令包括但不限于:
git init
:初始化一个新的Git仓库。git clone
:克隆一个远程仓库到本地。git add
:将文件添加到暂存区。git commit
:将暂存区的文件提交到本地仓库。git status
:查看当前仓库状态。git log
:查看提交历史。git branch
:管理分支。git checkout
:切换分支或恢复工作目录。git merge
:合并分支。git push
:将本地仓库的更改推送到远程仓库。git pull
:从远程仓库拉取最新的更改并合并到本地仓库。git cherry-pick <commit-hash>
,用于将某个特定的提交从一个分支应用到当前分支。
补充说明:
git cherry-pick ,用于将某个特定的提交从一个分支应用到当前分支。或者如果不小心丢失了某个提交,可以通过查找提交历史,找到该提交的哈希值,然后使用
cherry-pick
将其恢复到相应的分支上。可以在git graph中找到。
提交从一个分支应用到当前分支。或者如果不小心丢失了某个提交,可以通过查找提交历史,找到该提交的哈希值,然后使用cherry-pick
将其恢复到相应的分支上。可以在git graph中找到。
git submodule update --init --recursive 对于一些很久的分支,要用这个更新一下子模块
git status 查看状态,确定一下是否有没有track的子模块。
在使用 Git 进行版本控制时,git submodule update --init --recursive 是一个用于更新子模块的常用命令。当您面对一些很久未更新的分支时,使用此命令可以有效地将子模块更新到最新状态。这个命令会执行一系列操作,包括初始化子模块(如果尚未初始化)以及递归地更新所有子模块。