文章目录
- Git 的介绍
- 安装 `Git`
- 创建仓库
- `Git` 三板斧
- `add`
- `commit`
- `push`
- 冲突问题
- 常用 `Git` 指令
Git 的介绍
Git
是一个分布式版本控制系统,用于跟踪文件的变化并支持团队协作开发。最初由 Linus Torvalds
(Linux
操作系统的创始人)开发,Git
在开发者中变得非常流行,尤其是因为其高效、灵活和能够支持分布式开发的特点。
主要特点和概念:
-
分布式版本控制
- 分布式:每个使用
Git
的开发者都拥有完整的代码库副本,并且可以在本地进行操作,不需要依赖中央服务器。这使得Git
相比于集中式版本控制系统(如SVN
)更具有灵活性和抗故障能力。 - 本地提交:开发者可以在本地进行提交和版本管理,而无需立即与远程仓库同步。可以在网络连接不稳定的情况下继续工作,等到合适的时机再推送更改。
- 分布式:每个使用
-
版本历史和快照
Git
会记录每次提交的快照,而不是像其他版本控制系统那样记录差异(差异文件)。每个提交实际上都是代码库状态的完整快照。这样,不仅能恢复历史版本,还能快速了解代码库的变化。- 提交(
commit
)时,Git
会为每次提交生成一个唯一的哈希值(SHA-1
),这使得每个提交都可以通过哈希值唯一标识。
-
分支与合并(Branching and Merging)
Git
的分支管理非常灵活且轻量级。开发者可以在分支上独立工作,然后将分支合并到主分支(通常是main
或master
)。- 分支的创建和切换几乎没有成本,允许开发者同时处理多个功能、修复或者实验性工作,而不干扰主线开发。
- 合并(
merge
)允许将不同分支的更改整合到一起,Git
会尽可能智能地自动处理冲突,如果有冲突,开发者需要手动解决。
-
工作区、暂存区与版本库
- 工作区(
Working Directory
):是开发者正在进行编码的地方,包含所有的文件和代码。 - 暂存区(
Staging Area
):是一个中间区域,允许开发者选择性地将更改“暂存”起来,准备提交。可以理解为一个待提交的文件集合。 - 版本库(
Repository
):是Git
存储代码版本历史的地方。每当你执行提交时,Git
会将当前的代码快照保存到版本库中。
- 工作区(
-
远程仓库(
Remote Repositories
)Git
支持远程仓库,允许多人协作开发。开发者可以将本地仓库的更改推送(push
)到远程仓库,也可以从远程仓库拉取(pull)最新的更改。- 常见的
Git
托管平台有GitHub
、GitLab
、Bitbucket
等,它们提供了托管Git
仓库的服务,方便团队进行协作。
安装 Git
在 Linux
(Ubuntu
)系统中,使用以下命令来安装 Git
:
sudo apt update
sudo apt install git
使用 git --version
来查看是否安装成功:
创建仓库
我们以 gitee
做演示如何创建远端仓库,github
也是同样的道理。
-
在你的个人主页找到新建仓库
对你要新建的仓库做各种设置
在你的新建的仓库界面找到clone
到本地的终端指令
-
在终端上执行
clone
指令,然后输入你gitee
的账号和账号密码。需要注意的是,你只能将远端仓库 clone 到空目录,一个目录下只能有1个本地仓库。
补充:我们进到到 test
目录里,使用 ls -al
指令,如下图:
- 仓库目录其实是工作区,并不是真正的本地仓库,也就是说你在仓库目录写的代码需要手动上传到本地仓库中。
.git
这个隐藏目录才是真正的本地仓库
Git
三板斧
add
git add filename
- 将当前目录下的文件上传到暂存区里。
暂存区存在的意义:当你需要多次提交时候,你就可以将多次提交的文件存放在暂存区,最后一次性上传到本地仓库。
commit
git commit -m "message"
-
将暂存区的所有文件上传到你的本地仓库里。
-
-m
代表这次修改的相关信息,保存在日志信息里。
使用 git status
来查看当前相关文件的状态
使用 git log
来查看日志信息
注意:当你第一次执行该指令时会报错提醒需要配置用户信息,执行以下指令即可。
git config --global user.name "your name"
git config --global user.email "you@example.com"
push
git push
- 将你本地仓库的代码和文件推送到远端仓库(该过程要输入你
gitee
的账号与账号密码)
推送到远端仓库后,我们就可以在 gitee
上查看了。
冲突问题
如果远端仓库与本地仓库不一致的话,我们是直接 commit
是会报错的,需要同步两个仓库的信息才可以。
我们只需要将远端仓库拉取到本地就可以完成同步。
git pull
常用 Git
指令
git init
:初始化一个新的 Git 仓库。git clone
:从远程仓库克隆一个本地副本。git status
:查看当前工作区的状态(哪些文件被修改了,哪些文件已经暂存等)。git add
:将文件添加到暂存区,为提交做准备。git commit
:提交暂存区的更改,保存到本地仓库。git push
:将本地的更改推送到远程仓库。git pull
:从远程仓库拉取并合并最新的更改。git merge
:将一个分支的更改合并到当前分支。git branch
:列出、创建或删除分支。git log
:查看提交历史。
Have a good day😏
See you next time, guys!😁✨🎞