本文最后更新于22 天前,其中的信息可能已经过时,如有错误请发送邮件到big_fw@foxmail.com
🚀 Git入门完全指南
🌟 为何使用Git?
为了让代码能够更好的持续集成,我们采用Git的持续集成,Git支持版本回退等功能。
🧩 Git是什么?
想象你正在制作一个拼图。每一块拼图代表一个文件或者项目的部分。你开始时可能有一个完整的图片作为参考,但在拼图过程中,你可能会试图调整一些拼图块的位置或者尝试不同的组合方式。
—
📚 Git核心命令解析
1. `git add` (添加)
将拼图块从桌子上移动到拼图盒子里。当你完成了一些新的工作或修改后,使用`git add`将这些更改“添加”到Git的追踪列表中。
2. `git commit` (提交)
将拼图盒子封闭起来,保存当前进度。当你认为你已经完成了一部分工作,并想要保存这些更改时,使用`git commit`。
3. `git branch` (分支)
创建一个新的拼图盒子,尝试不同的组合。你可以在其中安全地进行实验,不会影响主线的开发。
4. `git checkout` (切换)
从一个拼图盒子切换到另一个盒子。让你可以在不同的拼图组合之间轻松切换。
5. `git merge` (合并)
将两个拼图盒子的内容合并成一个。将一个分支的更改融入到另一个分支中。
6. `git clone` (克隆)
从商店购买一个完整的拼图套装。复制一个远程仓库到你的本地计算机上,包括所有的历史记录和分支。
7. `git pull` (拉取)
检查拼图商店是否有新的拼图块,然后将它们添加到你的拼图盒子中。获取远程仓库中的最新更改。
8. `git push` (推送)
分享你的拼图盒子,让其他人可以看到你的最新拼图进度。将本地更改上传到远程仓库。
9. `git status` (状态)
查看当前拼图盒子的状态。告诉你哪些文件已经被修改、哪些文件已经被添加到暂存区。
10. `git log` (日志)
查看拼图的历史记录。显示所有的提交记录,包括每次提交的作者、日期和描述信息。
11. `git reset` (重置)
重新开始拼图,将一些错误的拼图块重新放回到盒子中。撤销某些更改或回退到之前的提交状态。
---
✨Git安装
windows系统
https://git-scm.com/download/win
- 选择适合您 Windows 版本(32 位或 64 位)的安装程序进行下载。
- 在安装向导中,通常可以选择默认设置,一路点击“Next”(下一步)即可完成安装。
3.检查是否安装完成。
打开终端(win+r—>cmd)
输入指令检查 git –version
(已经安装过,暂时不更新啦)
linux系统
通过包管理器安装 Git
sudo apt update
sudo apt install git
# 如果使用的 Intern-Studio 可以跳过或去除sudo后执行。默认已安装
1.开机:
随便一台机器,仅测试。
2.检查git 版本
如果没安装,可以按上面的安装教程完成安装。
🧭Git托管平台
github
- 是全球最大的代码托管平台之一,拥有丰富的开源项目和活跃的开发者社区。它提供了版本控制、项目管理、协作开发等功能,并支持多种编程语言。
gitlab
- 一个自托管或基于云的平台,提供了完整的 DevOps 工具链,包括代码托管、持续集成/持续部署(CI/CD)、问题跟踪等。
gitee
- 国内的代码托管平台,提供了代码托管、项目管理、协作开发等功能,对国内开发者来说,访问速度可能更快,也更符合国内的使用习惯。
🎨常用的git插件
在 VSCode 等软件中,插件是效率提升的利器。(根据自己的爱好进行选择)
GitLens | 在代码行上显示 Git 提交信息,如提交人、时间及变更描述等,还能查看文件历史记录、比较视图、显示 Git blame 注释和团队成员的最新活动等 |
Git Graph | 类似于 SourceTree 的可视化版本控制插件,可用于查看提交记录、审视代码等 |
Git History | Git 日志查看器,能轻松查看 Git 提交历史记录,支持显示不同颜色的分支、提交信息和更改详细信息,以及搜索提交历史记录; |
🛠️ Git常用命令
2.1 基础操作
2.1.1 初始化
bash
将当前目录初始化成本地仓库
git init
初始化指定目录
git init
创建裸仓
git init --bare
将指定目录创建成裸仓
git init --bare
> **注**:裸仓一般用于远程中心仓库,可以被clone,普通仓库不具备被clone的条件。
2.1.2 添加文件
bash
将文件添加到暂存区
git add
2.1.3 提交文件到本地仓库
bash
提交文件并添加说明
git commit -m "引号这里面填写的是你提交文件时的说明"
2.1.4 查看状态
bash
查看当前状态
git status
2.2 远程仓库操作
2.2.1 克隆仓库
bash
克隆远程仓库
git clone
2.2.2 关联远程仓库
bash
添加远程仓库地址
git remote add origin git@server:path/repo.git
2.2.3 提交到远程仓库
bash
推送到远程仓库
git push
通常使用
git push origin master
2.2.4 同步远程仓库
bash
获取远程仓库的最新更改
git pull
2.3 分支操作
2.3.1 查看分支
bash
查看所有分支
git branch
2.3.2 创建分支
bash
创建新分支
git branch
示例:创建test分支
git branch test
2.3.3 删除分支
bash
删除指定分支
git branch -d
示例:删除test分支
git branch -d test
2.3.4 切换分支
bash
切换到指定分支
git checkout
2.3.5 创建并切换分支
bash
创建并切换到新分支
git checkout -b
2.3.6 合并分支
bash
将指定分支合并到当前分支
git merge
2.3.7 查看文件改动
bash
查看文件的具体改动
git diff
2.3.8 查看提交历史
bash
查看提交历史
git log
查看所有历史记录(包括未来版本)
git reflog
回退到特定版本
git reset --hard
📚 Git LFS
Git LFS(Large File Storage)是由 Atlassian, GitHub 以及其他开源贡献者开发的 Git 扩展,它通过延迟地(lazily)下载大文件的相关版本来减少大文件在仓库中的影响
注意:安装 Git LFS 需要 Git 的版本不低于 1.8.5
在intern-Studio上安装git-lfs
curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | bash
apt-get update
apt-get install git-lfs
git lfs install
📌提交你的第一个PR
前面我们说了,git这个工具是被发明出来用于代码版本控制和多人协作的,当你在团队协作,或者要给开源项目贡献代码时,这个时候就是PR(Pull Request)。
PR为以下几个步骤
- fork目标的仓库:当我们参与别人的项目贡献时,不可能直接在别人的代码仓库中直接修改代码,你也没有这个权限,因此你可以fork一份(相当于单独复制一个分叉出来)到你自己名下的一个仓库中。
- 将代码clone到本地:这里用到前面的git clone命令。代码通常是在开发者本地修改和调试的,一般不会直接在远程的仓库上开发,因此需要将你fork的代码下载到本地。
- 修改代码:在本地可以修改你的代码
- 提交代码到你自己的仓库:将修改好的代码先提交到你自己的仓库中。这里用到的时git push
- 提交PR:在你自己的仓库中,将改动的那部分内容,向原项目仓库中提交一个请求(PR),申请将这部分改动合并到主仓库中如果顺利的话,原仓库的维护者会接收你的PR的,但是通常不会那么顺利(原因有很多种)