对于广大编程爱好来说都应该知道github,没错就是全世界最大的代码托管平台,在学习Java或者熟练使用Java如果对于Git不了解可以根据本文了解并利用Git工具提高开发。
一、为什么使用Git?
1.Git介绍
Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。Git是Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件,这里列举两种版本控制工具:
a、集中式版本控制工具
集中式版本控制工具,版本库是集中存放在中央服务器的,team里每个人work时从中央服务器下载代 码,是必须联网才能工作,局域网或互联网。个人修改后然后提交到中央版本库。
举例:SVN和CVS
b、分布式版本控制工具
分布式版本控制系统没有“中央服务器”,每个人的电脑上都是一个完整的版本库,这样工作的时候,无 需要联网了,因为版本库就在你自己的电脑上。多人协作只需要各自的修改推送给对方,就能互相看到对方的
修改了。
举例:Git
2.Git优点
主要包括以下优点:
- 分布式存储:
- Git 允许开发者在本地进行完整的版本控制操作,包括提交、分支管理等,无需连接到中央服务器。这极大地提高了开发效率和灵活性,尤其是在网络条件不佳或没有网络连接的环境中。
- 高效的数据存储:
- Git 存储数据的方式非常高效,它只存储数据变化的部分(即差异或补丁),而不是存储文件的完整副本。这种方式大大节省了存储空间,并且加快了数据传输速度。
- 强大的分支和合并能力:
- Git 鼓励开发者频繁地使用分支来开发新功能或修复问题。由于分支在 Git 中是轻量级的,创建和切换分支的成本非常低。这使得并行开发和协作变得更加容易。
- Git 的合并功能也非常强大,它提供了多种合并策略,并且支持在合并过程中解决冲突。
- 支持离线工作:
- 如前所述,Git 的分布式特性使得开发者可以在没有网络连接的情况下进行工作。当网络连接恢复时,开发者可以轻松地将本地更改同步到远程仓库。
- 安全性:
- Git 使用 SHA-1 哈希来确保数据的完整性。每次提交、标签或分支都会生成一个唯一的哈希值,这有助于防止数据被篡改。
- Git 还支持签名和验证提交,以确保提交的来源和完整性。
- 灵活的权限控制:
- 虽然 Git 本身不直接提供权限控制功能,但它可以与各种权限控制系统(如 Gitolite、Gerrit、GitLab 等)集成,以实现细粒度的权限控制。
- 广泛的社区支持和丰富的工具链:
- Git 拥有一个庞大的用户社区和丰富的生态系统,包括各种客户端工具(如 GitKraken、SourceTree 等)、IDE 插件、持续集成/持续部署(CI/CD)工具等。这些工具极大地提高了开发者的工作效率和协作能力。
- 易于学习和使用:
- 尽管 Git 功能强大且复杂,但它的基本命令相对简单且直观。通过少量的学习,开发者就可以掌握 Git 的核心功能并开始使用它来进行版本控制。
以下是多人协作使用Git的一个示例图:
二、Git安装与常用命令演示
1.Git安装
浏览器搜索找到Git官网下载链接:Git - Downloading Package (git-scm.com)
选择64位Windows安装程序下载启动,完成后无脑执行安装即可,成功后在任意文件夹右击鼠标如下显示代表成功,就是如此简单~
输入以下指令配置信息,分别替换为你的gitee用户名和邮箱(注意在同Linux类似的命令行中复制粘贴是ctrl+shift+c/v,当然右键也可以提示然后使用)
![](https://i-blog.csdnimg.cn/direct/3cde814b7a8a4b018f8596aa073d3014.png)
2.Git命令及演示
下面是一些常用的Git命令总结:
1. 初始化一个新的Git仓库:git init
2. 克隆(Clone)一个远程仓库到本地:git clone <远程仓库URL>
3. 添加文件到暂存区(Staging Area):git add <文件名>
4. 提交更改到本地仓库:git commit -m "提交信息"
5. 查看当前仓库状态:git status
6. 查看提交日志:git log
7. 推送本地提交到远程仓库:git push <远程仓库名称> <分支名称>
8. 拉取远程仓库的更新到本地:git pull <远程仓库名称> <分支名称>
9. 创建新分支:git branch <分支名称>
10. 切换到特定分支:git checkout <分支名称>
11. 合并分支:git merge <分支名称>
12. 撤销文件的暂存或修改:git restore <文件名>
13. 回退到之前的提交:git reset <提交ID>
14. 创建并切换到新的分支:git checkout -b <新分支名称>
这只是一些Git的常见命令,涵盖了基本的操作。Git还有更多的功能和命令,你可以查阅官方文档或其他资源以获取更详细的信息。
下面我们通过演示并详细介绍以上指令,新建文件夹右键在该文件夹运行指令git init,显示一个隐藏文件夹.git(该文件夹是git仓库管理文件的文件夹是git的工作目录,如果没有显示可以在资源管理器中查看显示隐藏文件夹)便能够在当前文件夹下建立了一个本地仓库
Git工作目录下对于文件的修改(增加、删除、更新)会存在几个状态,这些修改的状态会随着我们执行Git 的命令而发生变化,以下是git三大状态的介绍
新建一个文本文件,演示通过指令git add <文件名>添加到缓存区,git commit -m "提交信息"将所有缓存区中文件提交给仓库管理(这里提交信息主要做一个提示作用和注释类似),那么就可以根据不同提交来进行版本控制了
通过git log --all查看提交信息,便可以知道提交信息记录
gitee(码云)创建一个远程仓库,仓库选择为私有或开源都行,后查看仓库的ssh地址
使用指令git remote add <远端名称> <仓库路径>这里远端名称默认为origin而仓库路径及上图ssh网址是访问和建立远程仓库联系的网址,建立本地与远程仓库联系可通过查看远程仓库git remote验证是否连接
此时刷新仓库没有任何反应,因为只建立了联系没有推送到远程仓库管理,这时通过指令:git push --set-upstream origin master便将本地提交的文件推送到远程仓库管理,刷新远程仓库可见文件temp.txt存在于远程仓库
我们修改远程仓库中temp.txt中内容保存,那么远程仓库中的修改要在本地仓库也同样修改则需要使用指令:git pull拉取这时本题与远程仓库同步了
快速建立本地与远程仓库连接也可以使用克隆git clone <远程地址>这里新建文件夹演示,克隆后文件夹中会建立一个同远程仓库保存联系且同步的文件夹
以上是git管理仓库的基本命令演示,对于其他指令及详细信息可以查阅网上资料,这里推荐一个学习git的一个网站帮助更深入了解git工具分支已经熟练使用git指令:Learn Git Branching,以下是git指令的图示:
现在你可以轻松使用git指令来克隆别人的开源仓库并托管自己的代码了~