GIt快速入门
文章目录
- GIt快速入门
- 一、为什么要学习Git
- 二、Git的安装
- 1.安装Git
- 2.下载GUI
- 三、Git的概念
- 1、版本控制
- 2、集中式控制
- 3、分布式控制
- 4、多人协作开发
- 1.并行开发
- 2.分支管理
- 3.冲突解决
- 4.代码审查
- 5.分布式特性
- 四、Git客户端操作
- 1.界面介绍
- 2.提交操作
- 3.创建分支
- 4.合并分支
- 5.合并冲突的解决
- 6.标签的创建
- 7.远程仓库的创建
- 7.1 githup远程仓库创建
- 7.1.1远程仓库的拉取
- 7.1.2 本地仓库的上传与推送
- 7.2 Gitee远程仓库创建
- 五、Git集成
- 1、IDE集成GitHub
- 2、IDE集成Gitee
- 3.推送
- 六、Git版本号
- 1、介绍
- 2、文件操作
- 3、分支操作
- 1. 分支的概念
- 七、Git命令
- 1、初始化 Git 仓库
- 2、查看当前状态
- 3、常用命令
- 4、提交更改
- 5、查看提交历史
- 6、恢复文件
- 7、删除文件
- 8、忽略文件
- 9、移动和重命名文件
- 10、撤销更改
- 11、HTTPS方式操作
- 12、ssh方式操作
- 1. 生成SSH密钥对
- 2. 查看公钥
- 3. 在Git服务器上添加公钥
- 4. 验证SSH连接
- 5.注意事项
- 八、总结
一、为什么要学习Git
Git软件在项目开发中扮演着至关重要的角色,它不仅仅是一个版本控制系统,更是团队协作、质量保证和持续集成的核心工具。
Git提供了强大的版本控制功能,确保项目历史的完整性和可追溯性。通过Git,开发者可以轻松地查看项目文件的每一次变更,包括修改的内容、时间、作者等信息。这使得团队成员能够清晰地了解项目的演进过程,及时发现和解决问题。
Git支持多人协作开发,通过分支功能实现并行工作。团队成员可以在各自的分支上进行独立的开发工作,而不会相互干扰。当开发完成后,可以通过合并请求(如GitHub的Pull Request)将更改合并到主分支,经过代码审查后再进行集成。这种工作模式大大提高了团队的协作效率,同时保证了代码质量。
Git还提供了代码审查的功能。团队成员在合并代码之前,可以对代码进行详细的审查,提出修改意见和建议。这有助于确保代码质量,减少潜在的问题和错误。同时,代码审查也是团队成员之间相互学习和交流的好机会。
在项目开发过程中,Git还可以帮助开发者进行错误追踪与回滚。如果项目中出现了问题,开发者可以通过查看提交历史来定位问题的来源。一旦找到问题,可以使用Git的回滚功能将项目恢复到之前的状态,从而迅速解决问题。
除了以上功能外,Git还具有跨平台兼容性,可以在不同的操作系统上运行。这使得团队成员可以在不同的平台上无缝协作,无需担心因平台差异导致的兼容性问题。
最后,Git可以与其他工具集成,实现持续集成与部署。通过与自动化测试、构建和部署工具的结合,Git可以实现项目的自动化构建、测试和部署,从而加速软件开发生命周期,提高项目的交付效率。Git在项目开发中发挥着不可替代的作用。它不仅是版本控制的利器,更是团队协作、质量保证和持续集成的核心工具。通过Git,我们可以更好地管理项目、提高开发效率、保证代码质量,并实现快速交付。
二、Git的安装
1.安装Git
浏览器搜索git官网,这里以Windows系统为例
选择系统点击安装
安装过程可一路next。
2.下载GUI
打开后可以直接选择第一个下载。
选择GitHub Desktop下载可执行程序。
三、Git的概念
1、版本控制
我们都知道版本通常分为软件版本和文件版本,软件版本以数字版本号为例,我们知道数字越大代表我们的版本越新,而文件版本呢?例如我们有一份重要的文件,我们需要修改,而原文件的内容又比较重要,这时我们就需要复制一份进行我们的修改,假如命名为XXX_v1
,而这个名字就可以理解为版本号。而文件版本最主要的作用就是保存重要的历史记录以及恢复重要的历史记录。但当我们文件非常多时,我们还能通过复制一份来进行更改吗,显然是不能了。这时,我们的版本控制工具就派上了用场。
2、集中式控制
集中式版本控制系统(如SVN)的特点主要包括:
中央服务器:所有的版本数据都存储在中央服务器上,开发者在本地工作,并通过网络从中央服务器获取最新的代码,或提交自己的更改。
单点故障:由于所有版本数据都存储在中央服务器上,如果服务器出现问题(如宕机),那么所有开发者都无法进行版本控制操作,直到服务器恢复。
权限管理:管理员可以轻松地掌控每个开发者的权限,确保项目的安全性和可控性。
3、分布式控制
Git的分布式特性使其与集中式版本控制系统有着显著的区别:
本地仓库:每个开发者都有一个完整的本地仓库,包含了整个项目的所有历史版本数据。这意味着即使在没有网络连接的情况下,开发者也可以进行版本控制操作。
远程仓库:远程仓库(如GitHub、GitLab等)用于多人协作和代码共享。开发者可以将自己的本地仓库推送到远程仓库,或从远程仓库拉取最新的代码。
分支管理:Git的分支功能非常强大,可以轻松创建、合并和删除分支。这使得开发者可以在不同的分支上进行并行开发,而不会相互干扰。
自动合并:当多个开发者对同一部分代码进行了修改时,Git会尝试自动合并这些更改。如果合并过程中出现冲突,Git会提示开发者手动解决冲突。
4、多人协作开发
Git多人协作是一种高效、灵活的软件开发模式,它充分利用了Git的分布式版本控制特性,使得团队成员能够并行工作、共享代码,并轻松管理代码的版本和变更。
1.并行开发
Git允许多个开发者同时在同一项目上工作,每个开发者都可以在本地创建自己的分支进行开发。每个分支都是独立的,开发者可以在自己的分支上进行修改和提交,而不会影响其他人的工作。
这种并行开发模式可以大大加快开发的进度,提高团队的效率。
2.分支管理
Git支持创建多个分支,开发者可以在不同的功能或修复任务上并行工作。每个分支都可以看作是一个独立的工作流,使得多个任务可以同时进行,互不干扰。
分支的创建、合并和删除都非常灵活和简单,通过Git命令可以轻松管理。
3.冲突解决
当多个开发者同时修改同一部分代码时,Git会提示冲突。通过Git的冲突解决机制,团队成员可以清晰地看到哪里存在冲突,并快速地进行合并,确保代码的正确性。
Git的冲突解决过程通常是可视化的,可以使用文本编辑器或专门的合并工具进行编辑和比较。
4.代码审查
Git可以与各种代码审查工具集成,帮助团队成员相互审查代码,提高代码质量。代码审查可以发现潜在的问题、错误和不良实践,并及时进行修复和改进。
5.分布式特性
Git的分布式特性使得每个开发者都拥有完整的项目副本,不依赖于服务器的稳定性和网络连接。即使服务器宕机或者网络中断,开发者仍然可以进行提交、分支合并等操作。每个开发者都可以在本地进行版本控制和文件管理,大大减少了对中央服务器的依赖。
在实际项目中,团队可以使用Git进行多人协作开发。首先,需要初始化一个Git仓库,并将所有开发者添加到仓库的访问列表中。
开发者可以在本地创建分支,进行开发和测试。当完成开发后,可以将本地分支推送到远程仓库,并与其他开发者共享代码。
其他开发者可以从远程仓库拉取最新的代码,并在自己的分支上进行修改和提交。通过Git的合并功能,可以将多个分支的代码合并到主分支中,完成项目的集成和发布。
Git多人协作是一种高效、灵活的软件开发模式,它通过分布式版本控制特性实现了多人同时工作、并行开发和代码共享。Git的分支管理、冲突解决、代码审查和分布式特性等优势使得团队能够更高效地进行软件开发和协作。
四、Git客户端操作
1.界面介绍
第一个选项表示克隆一个仓库到本地,表示将互联网的仓库拉取到本地。
第二个选项表示在本地创建一个新的仓库。
第三个表示添加已有仓库到软件的列表。
2.提交操作
软件页面左侧会显示本地更改的文件,填写摘要Summary(required)
,点击下方的Commit to maser
完成文件提交。
3.创建分支
点击分支选项卡下拉菜单,点击new brance
添加新的分支。
4.合并分支
选择上图中最下面的选项卡,选择要合并的分支。
5.合并冲突的解决
例如这是两个冲突文件的内容
这表示第一个文件的内容是user
第二个文件的内容是order
,可自行选择要保留的文件,将内容以外的其他东西删除,表示将两个文件的内容进行合并。
6.标签的创建
点击此选项卡创建标签,以此来标记每次操作的目的。
7.远程仓库的创建
7.1 githup远程仓库创建
打开官网选择登录后点击主页new
选项卡开始创建仓库。
填写仓库名称和描述,选择最下方Creat
按钮完成创建。
仓库创建完成。
7.1.1远程仓库的拉取
点击文件file
选项卡,点击Options
登录与Githup
相同的账户。
再次点击文件选项卡,点击克隆(下载)仓库到本地
选择要下载的远程仓库,以及位置。
7.1.2 本地仓库的上传与推送
上传指将文件上传至本地仓库,推送指将代码推送至远程仓库。
点击commit to main
上传至main
分支
点击Publish brance
将文件推送至远程仓库。
刷新远程仓库即可发现推送文件。
7.2 Gitee远程仓库创建
创建过程与7.1基本相同,只是在下载远程仓库到本地时选择URL
选项,添加Gitee仓库的URL。后续操作与7.1相同。
五、Git集成
1、IDE集成GitHub
这里IDE以CLion为例,进入软件后,点击githup,选择在上面共享项目。
登录账号,即可关联至远程仓库。
2、IDE集成Gitee
Gitee需要在插件市场下载插件Gitee,后续操作与1相同。
3.推送
点击分支,点击提交并推送,即可推送至远程仓库。
或右键需要推送的文件。
六、Git版本号
1、介绍
git共有40位版本号,前两位用于定位文件夹位置,其余38位用来定位文件内容。
2、文件操作
Git对文件操作,可以使用命令
git cat-file -p + 文件版本号
,命令需要运行在Git bush here 中,右键单击即可看到。
3、分支操作
Git的分支操作是指在Git版本控制系统中创建、切换、合并和删除分支的一系列命令和过程。分支是Git中一个非常重要的概念,它允许开发者在不影响主线(通常是
master
或main
分支)的情况下进行并行开发。以下是关于Git分支操作的详细解释:1. 分支的概念
分支在Git中代表一条独立的开发线。每个分支都有自己的提交历史,允许开发者在不同的分支上并行工作。
使用分支的好处包括:
可以同时并行推进多个功能开发,提高开发效率。
各个分支在开发过程中,如果某一个分支开发失败,不会对其他分支有任何影响。
失败的分支可以删除并重新开始。
七、Git命令
Git 是一个版本控制系统,用于跟踪和管理代码更改。在使用 Git 时,你会经常与文件和目录进行交互。以下是一些基本的 Git 文件操作命令:
1、初始化 Git 仓库
如果你还没有 Git 仓库,你可以使用 git init
命令来初始化一个。
git init
2、查看当前状态
使用 git status
命令来查看当前仓库的状态,包括哪些文件被修改、哪些文件被添加到暂存区等。
git status
3、常用命令
使用 git add
命令将文件添加到暂存区。你可以添加单个文件,也可以使用通配符来添加多个文件。
# 添加单个文件
git add filename.txt# 添加多个文件
git add file1.txt file2.txt# 添加所有文件
git add .# 创建新分支 xxx 注意:提交后才可以创建
git branch xxx# 删除新分支
git branch -b xxx# 切换新分支 xxx
git checkout xxx# 创建并切换到xxx分支
git checkout -b xxx# 增加标签
git tag xxx 文件版本号# 删除标签
git tag -b xxx
4、提交更改
使用 git commit
命令将暂存区的更改提交到仓库。在提交时,通常需要提供一个描述更改的提交信息。
git commit -m "Describe your changes here"
5、查看提交历史
使用 git log
命令来查看提交历史。
git log
6、恢复文件
如果你不小心修改了文件并希望恢复到之前的版本,你可以使用 git restore
命令。
# 恢复文件 用于在本地仓库误删除文件
git restore xx.文件型号
7、删除文件
如果你希望从 Git 仓库中删除一个文件,你需要先删除文件本身(使用文件系统命令如 rm
),然后使用 git add
和 git commit
来提交这个删除操作。
# 删除文件
rm filename.txt# 添加删除操作到暂存区
git add filename.txt# 提交删除操作
git commit -m "Remove filename.txt"
8、忽略文件
如果你希望 Git 忽略某些文件或目录(例如,编译生成的文件、配置文件等),你可以在仓库的根目录下创建一个名为 .gitignore
的文件,并在其中列出要忽略的文件或目录的模式。
9、移动和重命名文件
你可以使用文件系统命令(如 mv
)来移动或重命名文件,然后使用 git add
和 git commit
来提交这个更改。Git 会识别文件的移动或重命名。
10、撤销更改
撤销暂存区的更改(但保留工作目录中的更改):git reset HEAD filename.txt
撤销最近的提交(创建一个新的提交来撤销更改):git revert HEAD
这些只是 Git 文件操作的基本命令。Git 还有许多其他功能和命令,可以帮助你更有效地管理代码和项目。
11、HTTPS方式操作
通过HTTPS推送需要设置用户名,操作命令如下:
# 初始化本地仓库 即在本地创建仓库
git init # 链接远程仓库
git remote add origin https//.....# 克隆远程仓库 git clone https://.....
git clone '仓库https链接'# 配置单个仓库推送用户名
git config user.name xxxx# 配置单个仓库推送邮箱地址
git config user.email xxxxx.xxx.com# 配置全局推送用户名
git config --global user.name xxxx# 配置全局推送邮箱地址
git config --global user.email xxxxx.xxx.com# 添加单个文件
git add filename.txt# 添加多个文件
git add file1.txt file2.txt# 添加所有文件
git add .# 增加同类型文件
git add *.文件类型# 提交操作
git commit -m "Describe your changes here"# 推送至远程仓库
git push master# 拉取远程仓库到本地
git pull origin
12、ssh方式操作
Git的SSH方式操作流程主要包括以下几个步骤:
1. 生成SSH密钥对
首先,你需要在本地机器上生成SSH密钥对,这通常包括一个私钥(id_rsa
)和一个公钥(id_rsa.pub
)。私钥用于本地身份验证,公钥则上传到Git服务器用于验证你的身份。
在Windows系统上:
-
打开Git Bash(或其他命令行工具)。
-
输入以下命令(替换
your_email@example.com
(ssh地址)为你的邮箱地址):ssh-keygen -t rsa -C "your_email@example.com"
连续按三次回车,在命令行提示的路径下找到
id_rsh.pub
。复制公钥。
步骤与Windows系统类似,但通常可以直接在终端中执行上述命令。
2. 查看公钥
密钥对生成后,公钥通常保存在~/.ssh/id_rsa.pub
(Linux/Mac)或C:\Users\你的用户名\.ssh\id_rsa.pub
(Windows)中。你可以使用文本编辑器或cat
命令(Linux/Mac)来查看公钥的内容。
3. 在Git服务器上添加公钥
接下来,你需要将公钥添加到Git服务器上,以便Git服务器能够验证你的身份。这个过程因Git服务器而异,但通常涉及以下步骤:
- 登录到你的Git服务器账户(如GitHub、Gitee等)。
- 导航到SSH密钥设置页面(通常位于用户设置或账户设置的“SSH and GPG keys”部分)。
- 点击“添加SSH密钥”或类似的按钮。
- 在弹出的表单中,输入一个标题(例如你的机器名或邮箱地址)和公钥内容。
- 点击“添加密钥”或类似的按钮保存设置。
4. 验证SSH连接
最后,你可以通过SSH命令来验证你的连接是否配置正确。在命令行中输入以下命令(替换git@your_git_server.com
为你的Git服务器地址):
ssh -T git@your_git_server.com
如果连接成功,你应该会看到一个欢迎消息或类似的输出。如果出现错误消息,请检查你的SSH密钥是否已正确添加到Git服务器,以及你的SSH客户端配置是否正确。
通过命令连接远程仓库:
git remote add origin git@.....# 初始化本地仓库 即在本地创建仓库
git init # 添加单个文件
git add filename.txt# 添加多个文件
git add file1.txt file2.txt# 添加所有文件
git add .# 增加同类型文件
git add *.文件类型# 提交操作
git commit -m "Describe your changes here"# 推送至远程仓库
git push master# 拉取远程仓库到本地
git pull origin
5.注意事项
- 请确保你的私钥文件(
id_rsa
)保存在安全的地方,不要将其共享给任何人。 - 如果你在多个机器上使用Git,并且希望使用相同的SSH密钥进行身份验证,你可以将公钥添加到多个Git服务器上。但是,每个机器都应该有自己的私钥文件。
- 如果你更改了私钥的密码短语或丢失了私钥文件,你将需要重新生成密钥对并将新的公钥添加到Git服务器上。这将导致现有的SSH连接失效,因此请确保在这样做之前通知你的团队成员或更新相关的文档。
八、总结
通过上述操作,我们使用了不同的方式完成了远程仓库和本地仓库的交互,我们可以更好地管理项目、提高开发效率、保证代码质量,并实现快速交付。